[INFO] fetching crate wlambda 0.8.1...
[INFO] fixing wlambda-0.8.1 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate wlambda 0.8.1 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate wlambda 0.8.1
[INFO] finished tweaking crates.io crate wlambda 0.8.1
[INFO] tweaked toml for crates.io crate wlambda 0.8.1 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate wlambda 0.8.1 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate wlambda 0.8.1 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] b0fba8e85f3449057a0232b6fdf0b1d2a768236bc8f9a85fb4be2552203c42ac
[INFO] running `Command { std: "docker" "start" "b0fba8e85f3449057a0232b6fdf0b1d2a768236bc8f9a85fb4be2552203c42ac", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b0fba8e85f3449057a0232b6fdf0b1d2a768236bc8f9a85fb4be2552203c42ac" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b0fba8e85f3449057a0232b6fdf0b1d2a768236bc8f9a85fb4be2552203c42ac", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b0fba8e85f3449057a0232b6fdf0b1d2a768236bc8f9a85fb4be2552203c42ac" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling libc v0.2.119
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]    Compiling syn v1.0.86
[INFO] [stderr]    Compiling serde_derive v1.0.136
[INFO] [stderr]    Compiling serde v1.0.136
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling nix v0.18.0
[INFO] [stderr]    Compiling serde_json v1.0.79
[INFO] [stderr]     Checking utf8parse v0.2.0
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]     Checking itoa v1.0.1
[INFO] [stderr]     Checking unicode-width v0.1.9
[INFO] [stderr]     Checking unicode-segmentation v1.9.0
[INFO] [stderr]     Checking regex-syntax v0.6.25
[INFO] [stderr]    Compiling quote v1.0.15
[INFO] [stderr]     Checking ryu v1.0.9
[INFO] [stderr]     Checking base64 v0.13.0
[INFO] [stderr]     Checking aho-corasick v0.7.18
[INFO] [stderr]     Checking quick-xml v0.20.0
[INFO] [stderr]     Checking rmp v0.8.10
[INFO] [stderr]     Checking dirs-sys-next v0.1.2
[INFO] [stderr]     Checking time v0.1.43
[INFO] [stderr]     Checking socket2 v0.3.19
[INFO] [stderr]     Checking dirs-next v1.0.2
[INFO] [stderr]     Checking chrono v0.4.19
[INFO] [stderr]     Checking regex v1.5.4
[INFO] [stderr]     Checking rustyline v6.3.0
[INFO] [stderr]     Checking rmp-serde v0.14.4
[INFO] [stderr]     Checking wlambda v0.8.1 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]    --> src/vm.rs:987:8
[INFO] [stdout]     |
[INFO] [stdout] 987 |     fn gen(s: &str) -> String {
[INFO] [stdout]     |        ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout]     = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1025:20
[INFO] [stdout]      |
[INFO] [stdout] 1025 |         assert_eq!(gen("10"),      "10");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1026:20
[INFO] [stdout]      |
[INFO] [stdout] 1026 |         assert_eq!(gen("\"foo\""), "\"foo\"");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1027:20
[INFO] [stdout]      |
[INFO] [stdout] 1027 |         assert_eq!(gen(":foo"),    ":foo");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1032:20
[INFO] [stdout]      |
[INFO] [stdout] 1032 |         assert_eq!(gen("$p(1,2)"),          "$p(1,2)");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1033:20
[INFO] [stdout]      |
[INFO] [stdout] 1033 |         assert_eq!(gen("$p(1,$p(2,3))"),    "$p(1,$p(2,3))");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1034:20
[INFO] [stdout]      |
[INFO] [stdout] 1034 |         assert_eq!(gen("$p($p(1,2),$p($p(3,4),3))"),
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1040:20
[INFO] [stdout]      |
[INFO] [stdout] 1040 |         assert_eq!(gen("!:global x = 10; x"),                         "10");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1041:20
[INFO] [stdout]      |
[INFO] [stdout] 1041 |         assert_eq!(gen("!:global x = 10; !:global y = 11; $p(x, y)"), "$p(10,11)");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1042:20
[INFO] [stdout]      |
[INFO] [stdout] 1042 |         assert_eq!(gen("!x = 10; x; 13"),                             "13");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1043:20
[INFO] [stdout]      |
[INFO] [stdout] 1043 |         assert_eq!(gen("!x = 10; !y = 11; $p(x, y)"),                 "$p(10,11)");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1044:20
[INFO] [stdout]      |
[INFO] [stdout] 1044 |         assert_eq!(gen("!x = 10; !y = 11; x; y; $p(x, y)"),           "$p(10,11)");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1045:20
[INFO] [stdout]      |
[INFO] [stdout] 1045 |         assert_eq!(gen("!x = 10; !y = 20; $p($p(1,2),$p(3,4))"),         "$p($p(1,2),$p(3,4))");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1046:20
[INFO] [stdout]      |
[INFO] [stdout] 1046 |         assert_eq!(gen("!x = 10; !y = 20; !z = $p($p(1,2),$p(3,4)); z"), "$p($p(1,2),$p(3,4))");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1047:20
[INFO] [stdout]      |
[INFO] [stdout] 1047 |         assert_eq!(gen("!x = 10; !y = 11; $:x"),                      "$&&10");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1048:20
[INFO] [stdout]      |
[INFO] [stdout] 1048 |         assert_eq!(gen("!x = 11; $:x"),                               "$&&11");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1049:20
[INFO] [stdout]      |
[INFO] [stdout] 1049 |         assert_eq!(gen("!:global x = 12; $:x"),                       "$&&12");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1050:20
[INFO] [stdout]      |
[INFO] [stdout] 1050 |         assert_eq!(gen("!:global x = 10; !y = 11; $:x"),              "$&&10");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1051:20
[INFO] [stdout]      |
[INFO] [stdout] 1051 |         assert_eq!(gen("!:global x = 10; !y = 11; _"),                "14.4");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1052:20
[INFO] [stdout]      |
[INFO] [stdout] 1052 |         assert_eq!(gen("!:global x = 10; !y = 11; $:_"),              "$&&14.4");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1053:20
[INFO] [stdout]      |
[INFO] [stdout] 1053 |         assert_eq!(gen("!:global x = 10; !y = 11; $p(_, $p(_1, $p(_2, y)))"),
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1059:20
[INFO] [stdout]      |
[INFO] [stdout] 1059 |         assert_eq!(gen("1 + 2"),         "3");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1060:20
[INFO] [stdout]      |
[INFO] [stdout] 1060 |         assert_eq!(gen("1 + 2 + 3 + 4"), "10");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1061:20
[INFO] [stdout]      |
[INFO] [stdout] 1061 |         assert_eq!(gen("1 > 2"),         "$false");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1062:20
[INFO] [stdout]      |
[INFO] [stdout] 1062 |         assert_eq!(gen("2 > 1"),         "$true");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1063:20
[INFO] [stdout]      |
[INFO] [stdout] 1063 |         assert_eq!(gen("1 < 2"),         "$true");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1064:20
[INFO] [stdout]      |
[INFO] [stdout] 1064 |         assert_eq!(gen("2 < 1"),         "$false");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1065:20
[INFO] [stdout]      |
[INFO] [stdout] 1065 |         assert_eq!(gen("1 >= 2"),        "$false");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1066:20
[INFO] [stdout]      |
[INFO] [stdout] 1066 |         assert_eq!(gen("2 >= 1"),        "$true");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1067:20
[INFO] [stdout]      |
[INFO] [stdout] 1067 |         assert_eq!(gen("1 <= 2"),        "$true");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1068:20
[INFO] [stdout]      |
[INFO] [stdout] 1068 |         assert_eq!(gen("2 <= 1"),        "$false");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1070:20
[INFO] [stdout]      |
[INFO] [stdout] 1070 |         assert_eq!(gen("10 < 20"),     "$true");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1071:20
[INFO] [stdout]      |
[INFO] [stdout] 1071 |         assert_eq!(gen("11 < 10"),     "$false");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1072:20
[INFO] [stdout]      |
[INFO] [stdout] 1072 |         assert_eq!(gen("10 < 10"),     "$false");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1073:20
[INFO] [stdout]      |
[INFO] [stdout] 1073 |         assert_eq!(gen("10 > 20"),     "$false");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1074:20
[INFO] [stdout]      |
[INFO] [stdout] 1074 |         assert_eq!(gen("11 > 10"),     "$true");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1075:20
[INFO] [stdout]      |
[INFO] [stdout] 1075 |         assert_eq!(gen("10 > 10"),     "$false");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1076:20
[INFO] [stdout]      |
[INFO] [stdout] 1076 |         assert_eq!(gen("10 <= 20"),    "$true");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1077:20
[INFO] [stdout]      |
[INFO] [stdout] 1077 |         assert_eq!(gen("11 <= 10"),    "$false");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1078:20
[INFO] [stdout]      |
[INFO] [stdout] 1078 |         assert_eq!(gen("10 <= 10"),    "$true");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1079:20
[INFO] [stdout]      |
[INFO] [stdout] 1079 |         assert_eq!(gen("10 >= 20"),    "$false");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1080:20
[INFO] [stdout]      |
[INFO] [stdout] 1080 |         assert_eq!(gen("11 >= 10"),    "$true");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1081:20
[INFO] [stdout]      |
[INFO] [stdout] 1081 |         assert_eq!(gen("10 >= 10"),    "$true");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1082:20
[INFO] [stdout]      |
[INFO] [stdout] 1082 |         assert_eq!(gen("10.1 < 20.4"), "$true");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1083:20
[INFO] [stdout]      |
[INFO] [stdout] 1083 |         assert_eq!(gen("11.2 < 10.2"), "$false");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1084:20
[INFO] [stdout]      |
[INFO] [stdout] 1084 |         assert_eq!(gen("10.3 < 10.4"), "$true");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1085:20
[INFO] [stdout]      |
[INFO] [stdout] 1085 |         assert_eq!(gen("22 == 22"),    "$true");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1086:20
[INFO] [stdout]      |
[INFO] [stdout] 1086 |         assert_eq!(gen("22 == 23"),    "$false");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1087:20
[INFO] [stdout]      |
[INFO] [stdout] 1087 |         assert_eq!(gen("22 != 22"),    "$false");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1088:20
[INFO] [stdout]      |
[INFO] [stdout] 1088 |         assert_eq!(gen("21 != 22"),    "$true");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1093:20
[INFO] [stdout]      |
[INFO] [stdout] 1093 |         assert_eq!(gen("$[]"),              "$[]");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1094:20
[INFO] [stdout]      |
[INFO] [stdout] 1094 |         assert_eq!(gen("$[1, 2, 4]"),       "$[1,2,4]");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1095:20
[INFO] [stdout]      |
[INFO] [stdout] 1095 |         assert_eq!(gen("$[1, $[3,5], 4]"),  "$[1,$[3,5],4]");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1096:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 |         assert_eq!(gen("$[1, *$[3,5], 4]"),  "$[1,3,5,4]");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1097:20
[INFO] [stdout]      |
[INFO] [stdout] 1097 |         assert_eq!(gen("$[1, *${a=30}, 4]"),  "$[1,30,4]");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1102:20
[INFO] [stdout]      |
[INFO] [stdout] 1102 |         assert_eq!(gen("${}"),              "${}");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1103:20
[INFO] [stdout]      |
[INFO] [stdout] 1103 |         assert_eq!(gen("${a=$n}"),          "${a=$n}");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1104:20
[INFO] [stdout]      |
[INFO] [stdout] 1104 |         assert_eq!(gen("${a=$p(1,2)}"),     "${a=$p(1,2)}");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1105:20
[INFO] [stdout]      |
[INFO] [stdout] 1105 |         assert_eq!(gen("${*${b=10}}"),      "${b=10}");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1110:20
[INFO] [stdout]      |
[INFO] [stdout] 1110 |         assert_eq!(gen("!x = 10; { x; 20 }"),
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1112:20
[INFO] [stdout]      |
[INFO] [stdout] 1112 |         assert_eq!(gen("!x = 10; { x }[]"), "10");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1113:20
[INFO] [stdout]      |
[INFO] [stdout] 1113 |         assert_eq!(gen("!x = 10; { !y = 4; !k = 5; y + k + x }[]"), "19");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1114:20
[INFO] [stdout]      |
[INFO] [stdout] 1114 |         assert_eq!(gen(r"
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1125:20
[INFO] [stdout]      |
[INFO] [stdout] 1125 |         assert_eq!(gen("!x = 10; .x = 11; x"),                "11");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1126:20
[INFO] [stdout]      |
[INFO] [stdout] 1126 |         assert_eq!(gen("!x = 10; { .x = 11; }[]; x"),         "11");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1127:20
[INFO] [stdout]      |
[INFO] [stdout] 1127 |         assert_eq!(gen("!:global x = 10; .x = 11; x"),        "11");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1128:20
[INFO] [stdout]      |
[INFO] [stdout] 1128 |         assert_eq!(gen("!:global x = 10; { .x = 11; }[]; x"), "11");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1129:20
[INFO] [stdout]      |
[INFO] [stdout] 1129 |         assert_eq!(gen(r"
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1139:20
[INFO] [stdout]      |
[INFO] [stdout] 1139 |         assert_eq!(gen(r"
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1145:20
[INFO] [stdout]      |
[INFO] [stdout] 1145 |         assert_eq!(gen(r"
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1154:20
[INFO] [stdout]      |
[INFO] [stdout] 1154 |         assert_eq!(gen(r"
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1162:20
[INFO] [stdout]      |
[INFO] [stdout] 1162 |         assert_eq!(gen(r"
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1172:20
[INFO] [stdout]      |
[INFO] [stdout] 1172 | ...   assert_eq!(gen("std:ser:json $b\"abc\""),                         "\"[\\n  97,\\n  98,\\n  99\\n]\"", "JSON serializer for b...
[INFO] [stdout]      |                  ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1174:20
[INFO] [stdout]      |
[INFO] [stdout] 1174 | ...   assert_eq!(gen("str $b\"abc\""),                              "\"abc\"", "Bytes to String by 1:1 Byte to Unicode Char mappin...
[INFO] [stdout]      |                  ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1175:20
[INFO] [stdout]      |
[INFO] [stdout] 1175 | ...   assert_eq!(gen("str $b\"äbcß\""),                             "\"Ã¤bcÃ\\u{9f}\"", "Bytes to String by 1:1 Byte to Unicode Ch...
[INFO] [stdout]      |                  ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1176:20
[INFO] [stdout]      |
[INFO] [stdout] 1176 |         assert_eq!(gen("std:str:from_utf8 $b\"äbcß\""),                   "\"äbcß\"", "Bytes to String from UTF8");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1177:20
[INFO] [stdout]      |
[INFO] [stdout] 1177 | ...   assert_eq!(gen("std:str:from_utf8 $b\"\\xC4\\xC3\""),             "$e \"str:from_utf8 decoding error: invalid utf-8 sequence...
[INFO] [stdout]      |                  ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1178:20
[INFO] [stdout]      |
[INFO] [stdout] 1178 |         assert_eq!(gen("std:str:from_utf8_lossy $b\"\\xC4\\xC3\""),       "\"��\"", "Bytes to String from invalid UTF8 lossy");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1179:20
[INFO] [stdout]      |
[INFO] [stdout] 1179 | ...   assert_eq!(gen("std:str:to_bytes \"aäß\""),                       "$b\"a\\xC3\\xA4\\xC3\\x9F\"", "Bytes from String as UTF8");
[INFO] [stdout]      |                  ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1180:20
[INFO] [stdout]      |
[INFO] [stdout] 1180 | ...   assert_eq!(gen("std:str:from_utf8 ~ std:str:to_bytes \"aäß\""),       "\"aäß\"", "Bytes from String as UTF8 into String agai...
[INFO] [stdout]      |                  ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1181:20
[INFO] [stdout]      |
[INFO] [stdout] 1181 |         assert_eq!(gen("$b\"abc\" 1"),                                "$b'b'", "Get single byte from bytes");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1182:20
[INFO] [stdout]      |
[INFO] [stdout] 1182 |         assert_eq!(gen("$b\"abcdef\" 0 2"),                           "$b\"ab\"", "Substring bytes operation");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1183:20
[INFO] [stdout]      |
[INFO] [stdout] 1183 |         assert_eq!(gen("$b\"abcdef\" 3 3"),                           "$b\"def\"", "Substring bytes operation");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1184:20
[INFO] [stdout]      |
[INFO] [stdout] 1184 |         assert_eq!(gen("$b\"abcdef\" $[3, 3]"),                       "$b\"def\"", "Substring bytes operation");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1185:20
[INFO] [stdout]      |
[INFO] [stdout] 1185 |         assert_eq!(gen("$b\"abcdef\" $[3]"),                          "$b\"def\"", "Substring bytes operation");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1186:20
[INFO] [stdout]      |
[INFO] [stdout] 1186 |         assert_eq!(gen("$b\"abcdef\" ${abcdef = 10}"),                "10", "Bytes as map key");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1187:20
[INFO] [stdout]      |
[INFO] [stdout] 1187 |         assert_eq!(gen("std:bytes:to_vec $b\"abcdef\""),                  "$[97,98,99,100,101,102]", "bytes:to_vec");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1188:20
[INFO] [stdout]      |
[INFO] [stdout] 1188 |         assert_eq!(gen("std:bytes:from_vec ~ std:bytes:to_vec $b\"abcdef\""), "$b\"abcdef\"", "bytes:from_vec");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1189:20
[INFO] [stdout]      |
[INFO] [stdout] 1189 |         assert_eq!(gen("std:bytes:from_vec $[]"),                         "$b\"\"", "bytes:from_vec");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1190:20
[INFO] [stdout]      |
[INFO] [stdout] 1190 |         assert_eq!(gen("std:bytes:from_vec $[1,2,3]"),                    "$b\"\\x01\\x02\\x03\"", "bytes:from_vec");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1192:20
[INFO] [stdout]      |
[INFO] [stdout] 1192 |         assert_eq!(gen("std:bytes:to_hex $b\"abc\\xFF\""),                  "\"616263FF\"");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1193:20
[INFO] [stdout]      |
[INFO] [stdout] 1193 |         assert_eq!(gen("std:bytes:to_hex $b\"abc\\xFF\" 6"),                "\"616263 FF\"");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1194:20
[INFO] [stdout]      |
[INFO] [stdout] 1194 |         assert_eq!(gen("std:bytes:to_hex $b\"abc\\xFF\" 6 \":\""),          "\"616263:FF\"");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1195:20
[INFO] [stdout]      |
[INFO] [stdout] 1195 |         assert_eq!(gen("std:bytes:to_hex $b\"abc\\xFF\" 1 \":\""),          "\"6:1:6:2:6:3:F:F\"");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1197:20
[INFO] [stdout]      |
[INFO] [stdout] 1197 |         assert_eq!(gen("std:bytes:from_hex ~ std:bytes:to_hex $b\"abc\\xFF\""),         "$b\"abc\\xFF\"");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1198:20
[INFO] [stdout]      |
[INFO] [stdout] 1198 |         assert_eq!(gen("std:bytes:from_hex ~ std:bytes:to_hex $b\"abc\\xFF\" 6"),       "$b\"abc\\xFF\"");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1199:20
[INFO] [stdout]      |
[INFO] [stdout] 1199 |         assert_eq!(gen("std:bytes:from_hex ~ std:bytes:to_hex $b\"abc\\xFF\" 6 \":\""), "$b\"abc\\xFF\"");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1200:20
[INFO] [stdout]      |
[INFO] [stdout] 1200 |         assert_eq!(gen("std:bytes:from_hex ~ std:bytes:to_hex $b\"abc\\xFF\" 1 \":\""), "$b\"abc\\xFF\"");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1201:20
[INFO] [stdout]      |
[INFO] [stdout] 1201 |         assert_eq!(gen("std:bytes:from_hex ~ std:bytes:to_hex $b\"\\x00abc\\xFF\" 1 \":\""), "$b\"\\0abc\\xFF\"");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1203:20
[INFO] [stdout]      |
[INFO] [stdout] 1203 |         assert_eq!(gen("std:str:to_char_vec $q ABC "), "$[65,66,67]");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1204:20
[INFO] [stdout]      |
[INFO] [stdout] 1204 |         assert_eq!(gen("$q ABC | std:str:to_char_vec | std:str:from_char_vec"), "\"ABC\"");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]     --> src/vval.rs:1926:10
[INFO] [stdout]      |
[INFO] [stdout] 1926 |     ($c: expr, $i: expr, $x: ident, $y: ident, $z: ident, $w: ident) => (
[INFO] [stdout]      |          ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout]      = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]      |
[INFO] [stdout] 1926 |     ($c: expr_2021, $i: expr, $x: ident, $y: ident, $z: ident, $w: ident) => (
[INFO] [stdout]      |              +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]     --> src/vval.rs:1926:20
[INFO] [stdout]      |
[INFO] [stdout] 1926 |     ($c: expr, $i: expr, $x: ident, $y: ident, $z: ident, $w: ident) => (
[INFO] [stdout]      |                    ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]      |
[INFO] [stdout] 1926 |     ($c: expr, $i: expr_2021, $x: ident, $y: ident, $z: ident, $w: ident) => (
[INFO] [stdout]      |                        +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]     --> src/vval.rs:1993:10
[INFO] [stdout]      |
[INFO] [stdout] 1993 |     ($i: expr) => {
[INFO] [stdout]      |          ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]      |
[INFO] [stdout] 1993 |     ($i: expr_2021) => {
[INFO] [stdout]      |              +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]     --> src/vval.rs:2007:10
[INFO] [stdout]      |
[INFO] [stdout] 2007 |     ($i: expr, $v: ident, $conv: block, $def: expr) => {
[INFO] [stdout]      |          ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]      |
[INFO] [stdout] 2007 |     ($i: expr_2021, $v: ident, $conv: block, $def: expr) => {
[INFO] [stdout]      |              +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]     --> src/vval.rs:2007:47
[INFO] [stdout]      |
[INFO] [stdout] 2007 |     ($i: expr, $v: ident, $conv: block, $def: expr) => {
[INFO] [stdout]      |                                               ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]      |
[INFO] [stdout] 2007 |     ($i: expr, $v: ident, $conv: block, $def: expr_2021) => {
[INFO] [stdout]      |                                                   +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]     --> src/vval.rs:2013:10
[INFO] [stdout]      |
[INFO] [stdout] 2013 |     ($a: expr, $b: expr) => {
[INFO] [stdout]      |          ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]      |
[INFO] [stdout] 2013 |     ($a: expr_2021, $b: expr) => {
[INFO] [stdout]      |              +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]     --> src/vval.rs:2013:20
[INFO] [stdout]      |
[INFO] [stdout] 2013 |     ($a: expr, $b: expr) => {
[INFO] [stdout]      |                    ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]      |
[INFO] [stdout] 2013 |     ($a: expr, $b: expr_2021) => {
[INFO] [stdout]      |                        +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/ops.rs:646:50
[INFO] [stdout]     |
[INFO] [stdout] 646 |     ($self: ident, $env: ident, $pos: ident, $v: expr) => {
[INFO] [stdout]     |                                                  ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 646 |     ($self: ident, $env: ident, $pos: ident, $v: expr_2021) => {
[INFO] [stdout]     |                                                      +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/vm.rs:36:86
[INFO] [stdout]    |
[INFO] [stdout] 36 |     ($env: ident, $ret: ident, $retv: ident, $data: ident, $respos_var: ident, $val: expr) => {
[INFO] [stdout]    |                                                                                      ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 36 |     ($env: ident, $ret: ident, $retv: ident, $data: ident, $respos_var: ident, $val: expr_2021) => {
[INFO] [stdout]    |                                                                                          +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/vm.rs:106:23
[INFO] [stdout]     |
[INFO] [stdout] 106 |     ($v: ident, $msg: expr, $retv: ident) => {
[INFO] [stdout]     |                       ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 106 |     ($v: ident, $msg: expr_2021, $retv: ident) => {
[INFO] [stdout]     |                           +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/vm.rs:138:37
[INFO] [stdout]     |
[INFO] [stdout] 138 |     ($env: ident, $pc: ident, $val: expr, $uw_depth: ident, $retv: ident) => {
[INFO] [stdout]     |                                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 138 |     ($env: ident, $pc: ident, $val: expr_2021, $uw_depth: ident, $retv: ident) => {
[INFO] [stdout]     |                                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/vm.rs:188:38
[INFO] [stdout]     |
[INFO] [stdout] 188 |     ($f: ident, $argc: ident, $popc: expr, $env: ident, $retv: ident, $uw_depth: ident, $prog: ident, $pc: ident, $call_ret: ident,...
[INFO] [stdout]     |                                      ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 188 |     ($f: ident, $argc: ident, $popc: expr_2021, $env: ident, $retv: ident, $uw_depth: ident, $prog: ident, $pc: ident, $call_ret: ident, $cont: block) => {
[INFO] [stdout]     |                                          +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]     --> src/prelude.rs:9233:24
[INFO] [stdout]      |
[INFO] [stdout] 9233 |     ($g: ident, $name: expr, $cb: expr, $min: expr, $max: expr, $err_arg_ok: expr) => {
[INFO] [stdout]      |                        ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]      |
[INFO] [stdout] 9233 |     ($g: ident, $name: expr_2021, $cb: expr, $min: expr, $max: expr, $err_arg_ok: expr) => {
[INFO] [stdout]      |                            +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]     --> src/prelude.rs:9233:35
[INFO] [stdout]      |
[INFO] [stdout] 9233 |     ($g: ident, $name: expr, $cb: expr, $min: expr, $max: expr, $err_arg_ok: expr) => {
[INFO] [stdout]      |                                   ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]      |
[INFO] [stdout] 9233 |     ($g: ident, $name: expr, $cb: expr_2021, $min: expr, $max: expr, $err_arg_ok: expr) => {
[INFO] [stdout]      |                                       +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]     --> src/prelude.rs:9233:47
[INFO] [stdout]      |
[INFO] [stdout] 9233 |     ($g: ident, $name: expr, $cb: expr, $min: expr, $max: expr, $err_arg_ok: expr) => {
[INFO] [stdout]      |                                               ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]      |
[INFO] [stdout] 9233 |     ($g: ident, $name: expr, $cb: expr, $min: expr_2021, $max: expr, $err_arg_ok: expr) => {
[INFO] [stdout]      |                                                   +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]     --> src/prelude.rs:9233:59
[INFO] [stdout]      |
[INFO] [stdout] 9233 |     ($g: ident, $name: expr, $cb: expr, $min: expr, $max: expr, $err_arg_ok: expr) => {
[INFO] [stdout]      |                                                           ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]      |
[INFO] [stdout] 9233 |     ($g: ident, $name: expr, $cb: expr, $min: expr, $max: expr_2021, $err_arg_ok: expr) => {
[INFO] [stdout]      |                                                               +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]     --> src/prelude.rs:9233:78
[INFO] [stdout]      |
[INFO] [stdout] 9233 |     ($g: ident, $name: expr, $cb: expr, $min: expr, $max: expr, $err_arg_ok: expr) => {
[INFO] [stdout]      |                                                                              ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]      |
[INFO] [stdout] 9233 |     ($g: ident, $name: expr, $cb: expr, $min: expr, $max: expr, $err_arg_ok: expr_2021) => {
[INFO] [stdout]      |                                                                                  +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]     --> src/prelude.rs:9239:70
[INFO] [stdout]      |
[INFO] [stdout] 9239 |     ($g: ident, $op: tt, $env: ident, $argc: ident, $b: block, $min: expr, $max: expr, $err_arg_ok: expr) => {
[INFO] [stdout]      |                                                                      ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]      |
[INFO] [stdout] 9239 |     ($g: ident, $op: tt, $env: ident, $argc: ident, $b: block, $min: expr_2021, $max: expr, $err_arg_ok: expr) => {
[INFO] [stdout]      |                                                                          +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]     --> src/prelude.rs:9239:82
[INFO] [stdout]      |
[INFO] [stdout] 9239 |     ($g: ident, $op: tt, $env: ident, $argc: ident, $b: block, $min: expr, $max: expr, $err_arg_ok: expr) => {
[INFO] [stdout]      |                                                                                  ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]      |
[INFO] [stdout] 9239 |     ($g: ident, $op: tt, $env: ident, $argc: ident, $b: block, $min: expr, $max: expr_2021, $err_arg_ok: expr) => {
[INFO] [stdout]      |                                                                                      +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]     --> src/prelude.rs:9239:101
[INFO] [stdout]      |
[INFO] [stdout] 9239 |     ($g: ident, $op: tt, $env: ident, $argc: ident, $b: block, $min: expr, $max: expr, $err_arg_ok: expr) => {
[INFO] [stdout]      |                                                                                                     ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]      |
[INFO] [stdout] 9239 |     ($g: ident, $op: tt, $env: ident, $argc: ident, $b: block, $min: expr, $max: expr, $err_arg_ok: expr_2021) => {
[INFO] [stdout]      |                                                                                                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]     --> src/prelude.rs:9262:32
[INFO] [stdout]      |
[INFO] [stdout] 9262 |     ($g: ident, $op: tt, $err: expr) => {
[INFO] [stdout]      |                                ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]      |
[INFO] [stdout] 9262 |     ($g: ident, $op: tt, $err: expr_2021) => {
[INFO] [stdout]      |                                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]     --> src/prelude.rs:9301:53
[INFO] [stdout]      |
[INFO] [stdout] 9301 |     ($g: ident, $op: tt, $a: ident, $b: ident, $ef: expr, $ei: expr) => {
[INFO] [stdout]      |                                                     ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]      |
[INFO] [stdout] 9301 |     ($g: ident, $op: tt, $a: ident, $b: ident, $ef: expr_2021, $ei: expr) => {
[INFO] [stdout]      |                                                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]     --> src/prelude.rs:9301:64
[INFO] [stdout]      |
[INFO] [stdout] 9301 |     ($g: ident, $op: tt, $a: ident, $b: ident, $ef: expr, $ei: expr) => {
[INFO] [stdout]      |                                                                ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]      |
[INFO] [stdout] 9301 |     ($g: ident, $op: tt, $a: ident, $b: ident, $ef: expr, $ei: expr_2021) => {
[INFO] [stdout]      |                                                                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]     --> src/prelude.rs:9313:52
[INFO] [stdout]      |
[INFO] [stdout] 9313 |     ($g: ident, $op: tt, $a: ident, $b: ident, $e: expr) => {
[INFO] [stdout]      |                                                    ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]      |
[INFO] [stdout] 9313 |     ($g: ident, $op: tt, $a: ident, $b: ident, $e: expr_2021) => {
[INFO] [stdout]      |                                                        +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]     --> src/prelude.rs:9324:57
[INFO] [stdout]      |
[INFO] [stdout] 9324 |     ($g: ident, $op: literal, $a: ident, $b: ident, $e: expr) => {
[INFO] [stdout]      |                                                         ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]      |
[INFO] [stdout] 9324 |     ($g: ident, $op: literal, $a: ident, $b: ident, $e: expr_2021) => {
[INFO] [stdout]      |                                                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/vval_user_obj.rs:35:11
[INFO] [stdout]    |
[INFO] [stdout] 35 |     ($vv: expr, $obj: ident, $method: tt, $min: expr, $max: expr, $env: ident, $argc: ident, $b: block) => {
[INFO] [stdout]    |           ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 35 |     ($vv: expr_2021, $obj: ident, $method: tt, $min: expr, $max: expr, $env: ident, $argc: ident, $b: block) => {
[INFO] [stdout]    |               +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/vval_user_obj.rs:35:49
[INFO] [stdout]    |
[INFO] [stdout] 35 |     ($vv: expr, $obj: ident, $method: tt, $min: expr, $max: expr, $env: ident, $argc: ident, $b: block) => {
[INFO] [stdout]    |                                                 ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 35 |     ($vv: expr, $obj: ident, $method: tt, $min: expr_2021, $max: expr, $env: ident, $argc: ident, $b: block) => {
[INFO] [stdout]    |                                                     +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/vval_user_obj.rs:35:61
[INFO] [stdout]    |
[INFO] [stdout] 35 |     ($vv: expr, $obj: ident, $method: tt, $min: expr, $max: expr, $env: ident, $argc: ident, $b: block) => {
[INFO] [stdout]    |                                                             ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 35 |     ($vv: expr, $obj: ident, $method: tt, $min: expr, $max: expr_2021, $env: ident, $argc: ident, $b: block) => {
[INFO] [stdout]    |                                                                 +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/formatter.rs:542:76
[INFO] [stdout]     |
[INFO] [stdout] 542 |     ($ftype: ident, $align: ident, $fs: ident, $prefix: literal, $postfix: expr, $arg0: expr, $arg1: expr) => {
[INFO] [stdout]     |                                                                            ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 542 |     ($ftype: ident, $align: ident, $fs: ident, $prefix: literal, $postfix: expr_2021, $arg0: expr, $arg1: expr) => {
[INFO] [stdout]     |                                                                                +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/formatter.rs:542:89
[INFO] [stdout]     |
[INFO] [stdout] 542 |     ($ftype: ident, $align: ident, $fs: ident, $prefix: literal, $postfix: expr, $arg0: expr, $arg1: expr) => {
[INFO] [stdout]     |                                                                                         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 542 |     ($ftype: ident, $align: ident, $fs: ident, $prefix: literal, $postfix: expr, $arg0: expr_2021, $arg1: expr) => {
[INFO] [stdout]     |                                                                                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/formatter.rs:542:102
[INFO] [stdout]     |
[INFO] [stdout] 542 |     ($ftype: ident, $align: ident, $fs: ident, $prefix: literal, $postfix: expr, $arg0: expr, $arg1: expr) => {
[INFO] [stdout]     |                                                                                                      ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 542 |     ($ftype: ident, $align: ident, $fs: ident, $prefix: literal, $postfix: expr, $arg0: expr, $arg1: expr_2021) => {
[INFO] [stdout]     |                                                                                                          +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/formatter.rs:558:61
[INFO] [stdout]     |
[INFO] [stdout] 558 |     ($align: ident, $fs: ident, $prefix: literal, $postfix: expr, $arg0: expr, $arg1: expr) => {
[INFO] [stdout]     |                                                             ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 558 |     ($align: ident, $fs: ident, $prefix: literal, $postfix: expr_2021, $arg0: expr, $arg1: expr) => {
[INFO] [stdout]     |                                                                 +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/formatter.rs:558:74
[INFO] [stdout]     |
[INFO] [stdout] 558 |     ($align: ident, $fs: ident, $prefix: literal, $postfix: expr, $arg0: expr, $arg1: expr) => {
[INFO] [stdout]     |                                                                          ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 558 |     ($align: ident, $fs: ident, $prefix: literal, $postfix: expr, $arg0: expr_2021, $arg1: expr) => {
[INFO] [stdout]     |                                                                              +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/formatter.rs:558:87
[INFO] [stdout]     |
[INFO] [stdout] 558 |     ($align: ident, $fs: ident, $prefix: literal, $postfix: expr, $arg0: expr, $arg1: expr) => {
[INFO] [stdout]     |                                                                                       ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 558 |     ($align: ident, $fs: ident, $prefix: literal, $postfix: expr, $arg0: expr, $arg1: expr_2021) => {
[INFO] [stdout]     |                                                                                           +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/formatter.rs:565:61
[INFO] [stdout]     |
[INFO] [stdout] 565 |     ($align: ident, $fs: ident, $prefix: literal, $postfix: expr, $arg0: expr, $arg1: expr, $arg2: expr) => {
[INFO] [stdout]     |                                                             ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 565 |     ($align: ident, $fs: ident, $prefix: literal, $postfix: expr_2021, $arg0: expr, $arg1: expr, $arg2: expr) => {
[INFO] [stdout]     |                                                                 +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/formatter.rs:565:74
[INFO] [stdout]     |
[INFO] [stdout] 565 |     ($align: ident, $fs: ident, $prefix: literal, $postfix: expr, $arg0: expr, $arg1: expr, $arg2: expr) => {
[INFO] [stdout]     |                                                                          ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 565 |     ($align: ident, $fs: ident, $prefix: literal, $postfix: expr, $arg0: expr_2021, $arg1: expr, $arg2: expr) => {
[INFO] [stdout]     |                                                                              +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/formatter.rs:565:87
[INFO] [stdout]     |
[INFO] [stdout] 565 |     ($align: ident, $fs: ident, $prefix: literal, $postfix: expr, $arg0: expr, $arg1: expr, $arg2: expr) => {
[INFO] [stdout]     |                                                                                       ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 565 |     ($align: ident, $fs: ident, $prefix: literal, $postfix: expr, $arg0: expr, $arg1: expr_2021, $arg2: expr) => {
[INFO] [stdout]     |                                                                                           +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/formatter.rs:565:100
[INFO] [stdout]     |
[INFO] [stdout] 565 |     ($align: ident, $fs: ident, $prefix: literal, $postfix: expr, $arg0: expr, $arg1: expr, $arg2: expr) => {
[INFO] [stdout]     |                                                                                                    ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 565 |     ($align: ident, $fs: ident, $prefix: literal, $postfix: expr, $arg0: expr, $arg1: expr, $arg2: expr_2021) => {
[INFO] [stdout]     |                                                                                                        +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/packer.rs:12:80
[INFO] [stdout]    |
[INFO] [stdout] 12 |     ($ps: ident, $i: ident, $u8vec: ident, $endian: ident, $type: ident, $len: expr, $out: expr) => {
[INFO] [stdout]    |                                                                                ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 12 |     ($ps: ident, $i: ident, $u8vec: ident, $endian: ident, $type: ident, $len: expr_2021, $out: expr) => {
[INFO] [stdout]    |                                                                                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/packer.rs:12:92
[INFO] [stdout]    |
[INFO] [stdout] 12 |     ($ps: ident, $i: ident, $u8vec: ident, $endian: ident, $type: ident, $len: expr, $out: expr) => {
[INFO] [stdout]    |                                                                                            ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 12 |     ($ps: ident, $i: ident, $u8vec: ident, $endian: ident, $type: ident, $len: expr, $out: expr_2021) => {
[INFO] [stdout]    |                                                                                                +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/packer.rs:31:80
[INFO] [stdout]    |
[INFO] [stdout] 31 |     ($ps: ident, $i: ident, $u8vec: ident, $endian: ident, $type: ident, $len: expr, $out: ident, $outtype: ident) => {
[INFO] [stdout]    |                                                                                ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 31 |     ($ps: ident, $i: ident, $u8vec: ident, $endian: ident, $type: ident, $len: expr_2021, $out: ident, $outtype: ident) => {
[INFO] [stdout]    |                                                                                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/packer.rs:51:80
[INFO] [stdout]    |
[INFO] [stdout] 51 |     ($ps: ident, $i: ident, $u8vec: ident, $endian: ident, $type: ident, $len: expr, $out: expr) => {
[INFO] [stdout]    |                                                                                ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 51 |     ($ps: ident, $i: ident, $u8vec: ident, $endian: ident, $type: ident, $len: expr_2021, $out: expr) => {
[INFO] [stdout]    |                                                                                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/packer.rs:51:92
[INFO] [stdout]    |
[INFO] [stdout] 51 |     ($ps: ident, $i: ident, $u8vec: ident, $endian: ident, $type: ident, $len: expr, $out: expr) => {
[INFO] [stdout]    |                                                                                            ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 51 |     ($ps: ident, $i: ident, $u8vec: ident, $endian: ident, $type: ident, $len: expr, $out: expr_2021) => {
[INFO] [stdout]    |                                                                                                +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/packer.rs:70:41
[INFO] [stdout]    |
[INFO] [stdout] 70 |     ($u8vec: ident, $endian: ident, $v: expr) => {
[INFO] [stdout]    |                                         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 70 |     ($u8vec: ident, $endian: ident, $v: expr_2021) => {
[INFO] [stdout]    |                                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/stdlib/xml.rs:20:37
[INFO] [stdout]    |
[INFO] [stdout] 20 |     ($env: ident, $rd: ident, $val: expr) => {
[INFO] [stdout]    |                                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 20 |     ($env: ident, $rd: ident, $val: expr_2021) => {
[INFO] [stdout]    |                                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/stdlib/xml.rs:35:37
[INFO] [stdout]    |
[INFO] [stdout] 35 |     ($env: ident, $rd: ident, $val: expr) => {
[INFO] [stdout]    |                                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 35 |     ($env: ident, $rd: ident, $val: expr_2021) => {
[INFO] [stdout]    |                                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/stdlib/xml.rs:249:43
[INFO] [stdout]     |
[INFO] [stdout] 249 |     ($env: ident, $writer: ident, $event: expr) => {
[INFO] [stdout]     |                                           ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 249 |     ($env: ident, $writer: ident, $event: expr_2021) => {
[INFO] [stdout]     |                                               +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/stdlib/net.rs:124:12
[INFO] [stdout]     |
[INFO] [stdout] 124 |     ($arg: expr, $env: expr, $ep: ident, $block: tt) => {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 124 |     ($arg: expr_2021, $env: expr, $ep: ident, $block: tt) => {
[INFO] [stdout]     |                +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/stdlib/net.rs:124:24
[INFO] [stdout]     |
[INFO] [stdout] 124 |     ($arg: expr, $env: expr, $ep: ident, $block: tt) => {
[INFO] [stdout]     |                        ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 124 |     ($arg: expr, $env: expr_2021, $ep: ident, $block: tt) => {
[INFO] [stdout]     |                            +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/stdlib/net.rs:160:12
[INFO] [stdout]     |
[INFO] [stdout] 160 |     ($arg: expr, $env: expr) => {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 160 |     ($arg: expr_2021, $env: expr) => {
[INFO] [stdout]     |                +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/stdlib/net.rs:160:24
[INFO] [stdout]     |
[INFO] [stdout] 160 |     ($arg: expr, $env: expr) => {
[INFO] [stdout]     |                        ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 160 |     ($arg: expr, $env: expr_2021) => {
[INFO] [stdout]     |                            +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/stdlib/net.rs:184:12
[INFO] [stdout]     |
[INFO] [stdout] 184 |     ($arg: expr, $env: expr, $addr: ident, $block: tt) => {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 184 |     ($arg: expr_2021, $env: expr, $addr: ident, $block: tt) => {
[INFO] [stdout]     |                +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/stdlib/net.rs:184:24
[INFO] [stdout]     |
[INFO] [stdout] 184 |     ($arg: expr, $env: expr, $addr: ident, $block: tt) => {
[INFO] [stdout]     |                        ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 184 |     ($arg: expr, $env: expr_2021, $addr: ident, $block: tt) => {
[INFO] [stdout]     |                            +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/vval.rs:1642:25
[INFO] [stdout]      |
[INFO] [stdout] 1641 |         let mut e = Env::new(global);
[INFO] [stdout]      |             -----
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `e` calls a custom destructor
[INFO] [stdout]      |             `e` will be dropped later as of Edition 2024
[INFO] [stdout] 1642 |         if let Err(e) = self.fun.call_internal(&mut e, 0) {
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1645 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/vval.rs:2438:38
[INFO] [stdout]      |
[INFO] [stdout] 2438 |             while let Some((v, _)) = i.next() {
[INFO] [stdout]      |                             -        ^^^^^^^^
[INFO] [stdout]      |                             |        |
[INFO] [stdout]      |                             |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                             |        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                             `v` calls a custom destructor
[INFO] [stdout]      |                             `v` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2443 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `v` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `v` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `v` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/vval.rs:3145:42
[INFO] [stdout]      |
[INFO] [stdout] 3145 |                 while let Some((_, k)) = i.next() {
[INFO] [stdout]      |                                    -     ^^^^^^^^
[INFO] [stdout]      |                                    |     |
[INFO] [stdout]      |                                    |     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                    |     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                    `k` calls a custom destructor
[INFO] [stdout]      |                                    `k` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 3149 |                 }
[INFO] [stdout]      |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `k` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `k` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `k` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/vval.rs:2074:48
[INFO] [stdout]      |
[INFO] [stdout] 2067 |                         let a =
[INFO] [stdout]      |                             -
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             `a` calls a custom destructor
[INFO] [stdout]      |                             `a` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2074 |                         if let Some((b, bk)) = bi.next() {
[INFO] [stdout]      |                                                ^^^^^^^^^
[INFO] [stdout]      |                                                |
[INFO] [stdout]      |                                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2086 |                     } else {
[INFO] [stdout]      |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 3392 |                 pair_key_to_iter!(p)
[INFO] [stdout]      |                 -------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `a` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `a` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `a` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `pair_key_to_iter` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/vval.rs:3584:54
[INFO] [stdout]      |
[INFO] [stdout] 3584 |                         if let Some(VVal::Err(ev)) = env.arg_err_internal(i) {
[INFO] [stdout]      |                                               --     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                               |      |
[INFO] [stdout]      |                                               |      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                               |      up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                               `ev` calls a custom destructor
[INFO] [stdout]      |                                               `ev` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 3588 |                                             ev.borrow().0.s()),
[INFO] [stdout]      |                                             -----------
[INFO] [stdout]      |                                             |
[INFO] [stdout]      |                                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                             `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 3589 |                                     Some(ev.borrow().1.clone()),
[INFO] [stdout]      |                                          -----------
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                          `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 3592 |                     }
[INFO] [stdout]      |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `ev` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `ev` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `ev` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:1582:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:1582:0
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]     --> src/vval.rs:4424:23
[INFO] [stdout]      |
[INFO] [stdout] 4424 |             VVal::Opt(ref b) => {
[INFO] [stdout]      |                       ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]      |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]     --> src/vval.rs:4424:13
[INFO] [stdout]      |
[INFO] [stdout] 4424 |             VVal::Opt(ref b) => {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]      = note: `--force-warn rust-2024-incompatible-pat` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]      |
[INFO] [stdout] 4424 -             VVal::Opt(ref b) => {
[INFO] [stdout] 4424 +             VVal::Opt(b) => {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/vval.rs:2008:32
[INFO] [stdout]      |
[INFO] [stdout] 2008 |         if let Some(($v, _)) = $i.next() { $conv } else { $def }
[INFO] [stdout]      |                                ^^^^^^^^^
[INFO] [stdout]      |                                |
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 4420 |                 let mut i = i.borrow_mut();
[INFO] [stdout]      |                     -----
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `i` calls a custom destructor
[INFO] [stdout]      |                     `i` will be dropped later as of Edition 2024
[INFO] [stdout] 4421 |                 for _ in 0..index { i.next(); }
[INFO] [stdout] 4422 |                 iter_next_value!(i, v, { Some(v) }, None)
[INFO] [stdout]      |                 ----------------------------------------- in this macro invocation
[INFO] [stdout] 4423 |             },
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `i` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:2050:0
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `iter_next_value` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/vval.rs:2008:32
[INFO] [stdout]      |
[INFO] [stdout] 2008 |         if let Some(($v, _)) = $i.next() { $conv } else { $def }
[INFO] [stdout]      |                                ^^^^^^^^^
[INFO] [stdout]      |                                |
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 4556 |                 let mut i = i.borrow_mut();
[INFO] [stdout]      |                     -----
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `i` calls a custom destructor
[INFO] [stdout]      |                     `i` will be dropped later as of Edition 2024
[INFO] [stdout] 4557 |                 for _ in 0..idx { i.next(); }
[INFO] [stdout] 4558 |                 iter_next_value!(i, v, { Some(v) }, None)
[INFO] [stdout]      |                 ----------------------------------------- in this macro invocation
[INFO] [stdout] 4559 |             },
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `i` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:2050:0
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `iter_next_value` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]     --> src/vval.rs:4721:23
[INFO] [stdout]      |
[INFO] [stdout] 4721 |             VVal::Byt(ref mut b) => {
[INFO] [stdout]      |                       ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]      |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]     --> src/vval.rs:4721:13
[INFO] [stdout]      |
[INFO] [stdout] 4721 |             VVal::Byt(ref mut b) => {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]      |
[INFO] [stdout] 4721 -             VVal::Byt(ref mut b) => {
[INFO] [stdout] 4721 +             VVal::Byt(b) => {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]     --> src/vval.rs:4735:23
[INFO] [stdout]      |
[INFO] [stdout] 4735 |             VVal::Str(ref mut a) => {
[INFO] [stdout]      |                       ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]      |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]     --> src/vval.rs:4735:13
[INFO] [stdout]      |
[INFO] [stdout] 4735 |             VVal::Str(ref mut a) => {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]      |
[INFO] [stdout] 4735 -             VVal::Str(ref mut a) => {
[INFO] [stdout] 4735 +             VVal::Str(a) => {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/vval.rs:5890:36
[INFO] [stdout]      |
[INFO] [stdout] 5890 |         while let Some((ke, ve)) = map.next_entry()? {
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                    |
[INFO] [stdout]      |                                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                    up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 5891 |             let k : VVal = ke;
[INFO] [stdout]      |                 -
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `k` calls a custom destructor
[INFO] [stdout]      |                 `k` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 5894 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `k` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `k` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `k` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/parser.rs:1077:17
[INFO] [stdout]      |
[INFO] [stdout] 1076 |                 let s = parse_string(ps, false)?;
[INFO] [stdout]      |                     -
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `s` calls a custom destructor
[INFO] [stdout]      |                     `s` will be dropped later as of Edition 2024
[INFO] [stdout] 1077 |                 s.at(1).unwrap().with_s_ref(|s: &str|
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1078 |                     Ok(make_sym(ps, s)))
[INFO] [stdout] 1079 |             } else {
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `s` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `s` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `s` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: rustc interrupted by SIGSEGV, printing backtrace
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/compiler.rs:683:19
[INFO] [stdout]      |
[INFO] [stdout]  682 |             let mut ctx = ctx.register_self_eval();
[INFO] [stdout]      |                 -------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `ctx` calls a custom destructor
[INFO] [stdout]      |                 `ctx` will be dropped later as of Edition 2024
[INFO] [stdout]  683 |             match ctx.eval(&code) {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  687 |         }, Some(1), Some(2));
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `ctx` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `ctx` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `ctx` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/compiler.rs:1718:25
[INFO] [stdout]      |
[INFO] [stdout] 1711 |     let syn  = ast.at(0).unwrap_or(VVal::None);
[INFO] [stdout]      |         ---
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `syn` calls a custom destructor
[INFO] [stdout]      |         `syn` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1718 |     if let Some(expr) = ast.at(2) {
[INFO] [stdout]      |                         ^^^^^^^^^
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1730 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `syn` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `syn` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `syn` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] /opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/lib/librustc_driver-f84658577f279709.so(+0x3cf9acc)[0x7b1c29af9acc]
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/compiler.rs:1766:30
[INFO] [stdout]      |
[INFO] [stdout] 1750 |     let syn  = ast.at(0).unwrap_or(VVal::None);
[INFO] [stdout]      |         ---
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `syn` calls a custom destructor
[INFO] [stdout]      |         `syn` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1766 |     if let Some(else_body) = ast.at(4) {
[INFO] [stdout]      |                              ^^^^^^^^^
[INFO] [stdout]      |                              |
[INFO] [stdout]      |                              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1833 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `syn` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `syn` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `syn` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] /lib/x86_64-linux-gnu/libc.so.6(+0x45330)[0x7b1c25c0b330]
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/compiler.rs:1766:30
[INFO] [stdout]      |
[INFO] [stdout] 1750 |     let syn  = ast.at(0).unwrap_or(VVal::None);
[INFO] [stdout]      |         ---
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `syn` calls a custom destructor
[INFO] [stdout]      |         `syn` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1758 |     let cond =
[INFO] [stdout]      |         ----
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `cond` calls a custom destructor
[INFO] [stdout]      |         `cond` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1762 |     let then_body =
[INFO] [stdout]      |         ---------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `then_body` calls a custom destructor
[INFO] [stdout]      |         `then_body` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1766 |     if let Some(else_body) = ast.at(4) {
[INFO] [stdout]      |                              ^^^^^^^^^
[INFO] [stdout]      |                              |
[INFO] [stdout]      |                              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1833 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `syn` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `syn` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `syn` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `cond` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `then_body` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] /opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/lib/librustc_driver-f84658577f279709.so(+0x4583125)[0x7b1c2a383125]
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/compiler.rs:3044:27
[INFO] [stdout]      |
[INFO] [stdout] 3033 |                     let mut p = Prog::new();
[INFO] [stdout]      |                         -----
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         `p` calls a custom destructor
[INFO] [stdout]      |                         `p` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 3037 |                     let mut e = Env::new(global);
[INFO] [stdout]      |                         -----
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         `e` calls a custom destructor
[INFO] [stdout]      |                         `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 3044 |                     match crate::vm::vm(&p, &mut e) {
[INFO] [stdout]      |                           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 3050 |                 },
[INFO] [stdout]      |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `p` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `p` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `p` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] /opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/lib/librustc_driver-f84658577f279709.so(+0x45823d2)[0x7b1c2a3823d2]
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/compiler.rs:3029:19
[INFO] [stdout]      |
[INFO] [stdout] 3028 |             let mut ce = CompileEnv::new(global.clone());
[INFO] [stdout]      |                 ------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `ce` calls a custom destructor
[INFO] [stdout]      |                 `ce` will be dropped later as of Edition 2024
[INFO] [stdout] 3029 |             match compile(&ast, &mut ce) {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 3053 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `ce` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `ce` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `ce` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/compiler.rs:3026:11
[INFO] [stdout]      |
[INFO] [stdout] 3025 |     let global = GlobalEnv::new_default();
[INFO] [stdout]      |         ------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `global` calls a custom destructor
[INFO] [stdout]      |         `global` will be dropped later as of Edition 2024
[INFO] [stdout] 3026 |     match parser::parse(s, "<compiler:s_eval>") {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 3056 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `global` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `global` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `global` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] ### cycle encountered after 4 frames with period 5
[INFO] [stderr] /opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/lib/librustc_driver-f84658577f279709.so(+0x45827d9)[0x7b1c2a3827d9]
[INFO] [stderr] /opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/lib/librustc_driver-f84658577f279709.so(+0x45827d9)[0x7b1c2a3827d9]
[INFO] [stderr] /opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/lib/librustc_driver-f84658577f279709.so(+0x45827d9)[0x7b1c2a3827d9]
[INFO] [stderr] /opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/lib/librustc_driver-f84658577f279709.so(+0x45827d9)[0x7b1c2a3827d9]
[INFO] [stderr] /opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/lib/librustc_driver-f84658577f279709.so(+0x45827d9)[0x7b1c2a3827d9]
[INFO] [stderr] ### recursed 50 times
[INFO] [stderr] 
[INFO] [stderr] /opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/lib/librustc_driver-f84658577f279709.so(+0x45827d9)[0x7b1c2a3827d9]
[INFO] [stderr] /opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/lib/librustc_driver-f84658577f279709.so(+0x45827d9)[0x7b1c2a3827d9]
[INFO] [stderr] 
[INFO] [stderr] note: rustc unexpectedly overflowed its stack! this is a bug
[INFO] [stderr] note: maximum backtrace depth reached, frames may have been lost
[INFO] [stderr] note: we would appreciate a report at https://github.com/rust-lang/rust
[INFO] [stderr] help: you can increase rustc's stack size by setting RUST_MIN_STACK=16777216
[INFO] [stderr] child failed with signal `11`
[INFO] [stderr] error: could not compile `wlambda` (lib test); 173 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/bin/cargo /opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/bin/rustc --crate-name wlambda --edition=2021 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 --test --cfg 'feature="base64"' --cfg 'feature="chrono"' --cfg 'feature="default"' --cfg 'feature="quick-xml"' --cfg 'feature="regex"' --cfg 'feature="rmp-serde"' --cfg 'feature="rustyline"' --cfg 'feature="serde"' --cfg 'feature="serde_json"' --cfg 'feature="socket2"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("all", "base64", "chrono", "default", "http", "mint", "mqtt", "quick-xml", "regex", "reqwest", "rmp-serde", "rumqttc", "rumqttd", "rustyline", "serde", "serde_json", "socket2"))' -C metadata=a82bafd092e82964 -C extra-filename=-ceb0e8a9f0be451c --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern base64=/opt/rustwide/target/debug/deps/libbase64-250f2105f09d7866.rmeta --extern chrono=/opt/rustwide/target/debug/deps/libchrono-6e1ebf35bbdfe2ba.rmeta --extern fnv=/opt/rustwide/target/debug/deps/libfnv-77c502cd42f57b8f.rmeta --extern quick_xml=/opt/rustwide/target/debug/deps/libquick_xml-e747ff48322cee3e.rmeta --extern regex=/opt/rustwide/target/debug/deps/libregex-7c2565f8f21b333c.rmeta --extern regex_syntax=/opt/rustwide/target/debug/deps/libregex_syntax-9d27ab2cdb7bdb7f.rmeta --extern rmp_serde=/opt/rustwide/target/debug/deps/librmp_serde-25e6ef63d5097ae6.rmeta --extern rustyline=/opt/rustwide/target/debug/deps/librustyline-3b9c16d09be986b3.rmeta --extern serde=/opt/rustwide/target/debug/deps/libserde-b3ad5c26d66de996.rmeta --extern serde_json=/opt/rustwide/target/debug/deps/libserde_json-781843a3b09bc54e.rmeta --extern socket2=/opt/rustwide/target/debug/deps/libsocket2-3924948c7c66725d.rmeta` (exit status: 2)
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]    --> src/vm.rs:987:8
[INFO] [stdout]     |
[INFO] [stdout] 987 |     fn gen(s: &str) -> String {
[INFO] [stdout]     |        ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout]     = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1025:20
[INFO] [stdout]      |
[INFO] [stdout] 1025 |         assert_eq!(gen("10"),      "10");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1026:20
[INFO] [stdout]      |
[INFO] [stdout] 1026 |         assert_eq!(gen("\"foo\""), "\"foo\"");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1027:20
[INFO] [stdout]      |
[INFO] [stdout] 1027 |         assert_eq!(gen(":foo"),    ":foo");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1032:20
[INFO] [stdout]      |
[INFO] [stdout] 1032 |         assert_eq!(gen("$p(1,2)"),          "$p(1,2)");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1033:20
[INFO] [stdout]      |
[INFO] [stdout] 1033 |         assert_eq!(gen("$p(1,$p(2,3))"),    "$p(1,$p(2,3))");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1034:20
[INFO] [stdout]      |
[INFO] [stdout] 1034 |         assert_eq!(gen("$p($p(1,2),$p($p(3,4),3))"),
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1040:20
[INFO] [stdout]      |
[INFO] [stdout] 1040 |         assert_eq!(gen("!:global x = 10; x"),                         "10");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1041:20
[INFO] [stdout]      |
[INFO] [stdout] 1041 |         assert_eq!(gen("!:global x = 10; !:global y = 11; $p(x, y)"), "$p(10,11)");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1042:20
[INFO] [stdout]      |
[INFO] [stdout] 1042 |         assert_eq!(gen("!x = 10; x; 13"),                             "13");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1043:20
[INFO] [stdout]      |
[INFO] [stdout] 1043 |         assert_eq!(gen("!x = 10; !y = 11; $p(x, y)"),                 "$p(10,11)");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1044:20
[INFO] [stdout]      |
[INFO] [stdout] 1044 |         assert_eq!(gen("!x = 10; !y = 11; x; y; $p(x, y)"),           "$p(10,11)");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1045:20
[INFO] [stdout]      |
[INFO] [stdout] 1045 |         assert_eq!(gen("!x = 10; !y = 20; $p($p(1,2),$p(3,4))"),         "$p($p(1,2),$p(3,4))");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1046:20
[INFO] [stdout]      |
[INFO] [stdout] 1046 |         assert_eq!(gen("!x = 10; !y = 20; !z = $p($p(1,2),$p(3,4)); z"), "$p($p(1,2),$p(3,4))");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1047:20
[INFO] [stdout]      |
[INFO] [stdout] 1047 |         assert_eq!(gen("!x = 10; !y = 11; $:x"),                      "$&&10");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1048:20
[INFO] [stdout]      |
[INFO] [stdout] 1048 |         assert_eq!(gen("!x = 11; $:x"),                               "$&&11");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1049:20
[INFO] [stdout]      |
[INFO] [stdout] 1049 |         assert_eq!(gen("!:global x = 12; $:x"),                       "$&&12");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1050:20
[INFO] [stdout]      |
[INFO] [stdout] 1050 |         assert_eq!(gen("!:global x = 10; !y = 11; $:x"),              "$&&10");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1051:20
[INFO] [stdout]      |
[INFO] [stdout] 1051 |         assert_eq!(gen("!:global x = 10; !y = 11; _"),                "14.4");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1052:20
[INFO] [stdout]      |
[INFO] [stdout] 1052 |         assert_eq!(gen("!:global x = 10; !y = 11; $:_"),              "$&&14.4");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1053:20
[INFO] [stdout]      |
[INFO] [stdout] 1053 |         assert_eq!(gen("!:global x = 10; !y = 11; $p(_, $p(_1, $p(_2, y)))"),
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1059:20
[INFO] [stdout]      |
[INFO] [stdout] 1059 |         assert_eq!(gen("1 + 2"),         "3");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1060:20
[INFO] [stdout]      |
[INFO] [stdout] 1060 |         assert_eq!(gen("1 + 2 + 3 + 4"), "10");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1061:20
[INFO] [stdout]      |
[INFO] [stdout] 1061 |         assert_eq!(gen("1 > 2"),         "$false");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1062:20
[INFO] [stdout]      |
[INFO] [stdout] 1062 |         assert_eq!(gen("2 > 1"),         "$true");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1063:20
[INFO] [stdout]      |
[INFO] [stdout] 1063 |         assert_eq!(gen("1 < 2"),         "$true");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1064:20
[INFO] [stdout]      |
[INFO] [stdout] 1064 |         assert_eq!(gen("2 < 1"),         "$false");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1065:20
[INFO] [stdout]      |
[INFO] [stdout] 1065 |         assert_eq!(gen("1 >= 2"),        "$false");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1066:20
[INFO] [stdout]      |
[INFO] [stdout] 1066 |         assert_eq!(gen("2 >= 1"),        "$true");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1067:20
[INFO] [stdout]      |
[INFO] [stdout] 1067 |         assert_eq!(gen("1 <= 2"),        "$true");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1068:20
[INFO] [stdout]      |
[INFO] [stdout] 1068 |         assert_eq!(gen("2 <= 1"),        "$false");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1070:20
[INFO] [stdout]      |
[INFO] [stdout] 1070 |         assert_eq!(gen("10 < 20"),     "$true");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1071:20
[INFO] [stdout]      |
[INFO] [stdout] 1071 |         assert_eq!(gen("11 < 10"),     "$false");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1072:20
[INFO] [stdout]      |
[INFO] [stdout] 1072 |         assert_eq!(gen("10 < 10"),     "$false");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1073:20
[INFO] [stdout]      |
[INFO] [stdout] 1073 |         assert_eq!(gen("10 > 20"),     "$false");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1074:20
[INFO] [stdout]      |
[INFO] [stdout] 1074 |         assert_eq!(gen("11 > 10"),     "$true");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1075:20
[INFO] [stdout]      |
[INFO] [stdout] 1075 |         assert_eq!(gen("10 > 10"),     "$false");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1076:20
[INFO] [stdout]      |
[INFO] [stdout] 1076 |         assert_eq!(gen("10 <= 20"),    "$true");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1077:20
[INFO] [stdout]      |
[INFO] [stdout] 1077 |         assert_eq!(gen("11 <= 10"),    "$false");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1078:20
[INFO] [stdout]      |
[INFO] [stdout] 1078 |         assert_eq!(gen("10 <= 10"),    "$true");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1079:20
[INFO] [stdout]      |
[INFO] [stdout] 1079 |         assert_eq!(gen("10 >= 20"),    "$false");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1080:20
[INFO] [stdout]      |
[INFO] [stdout] 1080 |         assert_eq!(gen("11 >= 10"),    "$true");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1081:20
[INFO] [stdout]      |
[INFO] [stdout] 1081 |         assert_eq!(gen("10 >= 10"),    "$true");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1082:20
[INFO] [stdout]      |
[INFO] [stdout] 1082 |         assert_eq!(gen("10.1 < 20.4"), "$true");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1083:20
[INFO] [stdout]      |
[INFO] [stdout] 1083 |         assert_eq!(gen("11.2 < 10.2"), "$false");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1084:20
[INFO] [stdout]      |
[INFO] [stdout] 1084 |         assert_eq!(gen("10.3 < 10.4"), "$true");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1085:20
[INFO] [stdout]      |
[INFO] [stdout] 1085 |         assert_eq!(gen("22 == 22"),    "$true");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1086:20
[INFO] [stdout]      |
[INFO] [stdout] 1086 |         assert_eq!(gen("22 == 23"),    "$false");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1087:20
[INFO] [stdout]      |
[INFO] [stdout] 1087 |         assert_eq!(gen("22 != 22"),    "$false");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1088:20
[INFO] [stdout]      |
[INFO] [stdout] 1088 |         assert_eq!(gen("21 != 22"),    "$true");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1093:20
[INFO] [stdout]      |
[INFO] [stdout] 1093 |         assert_eq!(gen("$[]"),              "$[]");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1094:20
[INFO] [stdout]      |
[INFO] [stdout] 1094 |         assert_eq!(gen("$[1, 2, 4]"),       "$[1,2,4]");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1095:20
[INFO] [stdout]      |
[INFO] [stdout] 1095 |         assert_eq!(gen("$[1, $[3,5], 4]"),  "$[1,$[3,5],4]");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1096:20
[INFO] [stdout]      |
[INFO] [stdout] 1096 |         assert_eq!(gen("$[1, *$[3,5], 4]"),  "$[1,3,5,4]");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1097:20
[INFO] [stdout]      |
[INFO] [stdout] 1097 |         assert_eq!(gen("$[1, *${a=30}, 4]"),  "$[1,30,4]");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1102:20
[INFO] [stdout]      |
[INFO] [stdout] 1102 |         assert_eq!(gen("${}"),              "${}");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1103:20
[INFO] [stdout]      |
[INFO] [stdout] 1103 |         assert_eq!(gen("${a=$n}"),          "${a=$n}");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1104:20
[INFO] [stdout]      |
[INFO] [stdout] 1104 |         assert_eq!(gen("${a=$p(1,2)}"),     "${a=$p(1,2)}");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1105:20
[INFO] [stdout]      |
[INFO] [stdout] 1105 |         assert_eq!(gen("${*${b=10}}"),      "${b=10}");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1110:20
[INFO] [stdout]      |
[INFO] [stdout] 1110 |         assert_eq!(gen("!x = 10; { x; 20 }"),
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1112:20
[INFO] [stdout]      |
[INFO] [stdout] 1112 |         assert_eq!(gen("!x = 10; { x }[]"), "10");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1113:20
[INFO] [stdout]      |
[INFO] [stdout] 1113 |         assert_eq!(gen("!x = 10; { !y = 4; !k = 5; y + k + x }[]"), "19");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1114:20
[INFO] [stdout]      |
[INFO] [stdout] 1114 |         assert_eq!(gen(r"
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1125:20
[INFO] [stdout]      |
[INFO] [stdout] 1125 |         assert_eq!(gen("!x = 10; .x = 11; x"),                "11");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1126:20
[INFO] [stdout]      |
[INFO] [stdout] 1126 |         assert_eq!(gen("!x = 10; { .x = 11; }[]; x"),         "11");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1127:20
[INFO] [stdout]      |
[INFO] [stdout] 1127 |         assert_eq!(gen("!:global x = 10; .x = 11; x"),        "11");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1128:20
[INFO] [stdout]      |
[INFO] [stdout] 1128 |         assert_eq!(gen("!:global x = 10; { .x = 11; }[]; x"), "11");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1129:20
[INFO] [stdout]      |
[INFO] [stdout] 1129 |         assert_eq!(gen(r"
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1139:20
[INFO] [stdout]      |
[INFO] [stdout] 1139 |         assert_eq!(gen(r"
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1145:20
[INFO] [stdout]      |
[INFO] [stdout] 1145 |         assert_eq!(gen(r"
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1154:20
[INFO] [stdout]      |
[INFO] [stdout] 1154 |         assert_eq!(gen(r"
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1162:20
[INFO] [stdout]      |
[INFO] [stdout] 1162 |         assert_eq!(gen(r"
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1172:20
[INFO] [stdout]      |
[INFO] [stdout] 1172 | ...   assert_eq!(gen("std:ser:json $b\"abc\""),                         "\"[\\n  97,\\n  98,\\n  99\\n]\"", "JSON serializer for b...
[INFO] [stdout]      |                  ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1174:20
[INFO] [stdout]      |
[INFO] [stdout] 1174 | ...   assert_eq!(gen("str $b\"abc\""),                              "\"abc\"", "Bytes to String by 1:1 Byte to Unicode Char mappin...
[INFO] [stdout]      |                  ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1175:20
[INFO] [stdout]      |
[INFO] [stdout] 1175 | ...   assert_eq!(gen("str $b\"äbcß\""),                             "\"Ã¤bcÃ\\u{9f}\"", "Bytes to String by 1:1 Byte to Unicode Ch...
[INFO] [stdout]      |                  ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1176:20
[INFO] [stdout]      |
[INFO] [stdout] 1176 |         assert_eq!(gen("std:str:from_utf8 $b\"äbcß\""),                   "\"äbcß\"", "Bytes to String from UTF8");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1177:20
[INFO] [stdout]      |
[INFO] [stdout] 1177 | ...   assert_eq!(gen("std:str:from_utf8 $b\"\\xC4\\xC3\""),             "$e \"str:from_utf8 decoding error: invalid utf-8 sequence...
[INFO] [stdout]      |                  ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1178:20
[INFO] [stdout]      |
[INFO] [stdout] 1178 |         assert_eq!(gen("std:str:from_utf8_lossy $b\"\\xC4\\xC3\""),       "\"��\"", "Bytes to String from invalid UTF8 lossy");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1179:20
[INFO] [stdout]      |
[INFO] [stdout] 1179 | ...   assert_eq!(gen("std:str:to_bytes \"aäß\""),                       "$b\"a\\xC3\\xA4\\xC3\\x9F\"", "Bytes from String as UTF8");
[INFO] [stdout]      |                  ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1180:20
[INFO] [stdout]      |
[INFO] [stdout] 1180 | ...   assert_eq!(gen("std:str:from_utf8 ~ std:str:to_bytes \"aäß\""),       "\"aäß\"", "Bytes from String as UTF8 into String agai...
[INFO] [stdout]      |                  ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1181:20
[INFO] [stdout]      |
[INFO] [stdout] 1181 |         assert_eq!(gen("$b\"abc\" 1"),                                "$b'b'", "Get single byte from bytes");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1182:20
[INFO] [stdout]      |
[INFO] [stdout] 1182 |         assert_eq!(gen("$b\"abcdef\" 0 2"),                           "$b\"ab\"", "Substring bytes operation");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1183:20
[INFO] [stdout]      |
[INFO] [stdout] 1183 |         assert_eq!(gen("$b\"abcdef\" 3 3"),                           "$b\"def\"", "Substring bytes operation");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1184:20
[INFO] [stdout]      |
[INFO] [stdout] 1184 |         assert_eq!(gen("$b\"abcdef\" $[3, 3]"),                       "$b\"def\"", "Substring bytes operation");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1185:20
[INFO] [stdout]      |
[INFO] [stdout] 1185 |         assert_eq!(gen("$b\"abcdef\" $[3]"),                          "$b\"def\"", "Substring bytes operation");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1186:20
[INFO] [stdout]      |
[INFO] [stdout] 1186 |         assert_eq!(gen("$b\"abcdef\" ${abcdef = 10}"),                "10", "Bytes as map key");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1187:20
[INFO] [stdout]      |
[INFO] [stdout] 1187 |         assert_eq!(gen("std:bytes:to_vec $b\"abcdef\""),                  "$[97,98,99,100,101,102]", "bytes:to_vec");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1188:20
[INFO] [stdout]      |
[INFO] [stdout] 1188 |         assert_eq!(gen("std:bytes:from_vec ~ std:bytes:to_vec $b\"abcdef\""), "$b\"abcdef\"", "bytes:from_vec");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1189:20
[INFO] [stdout]      |
[INFO] [stdout] 1189 |         assert_eq!(gen("std:bytes:from_vec $[]"),                         "$b\"\"", "bytes:from_vec");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1190:20
[INFO] [stdout]      |
[INFO] [stdout] 1190 |         assert_eq!(gen("std:bytes:from_vec $[1,2,3]"),                    "$b\"\\x01\\x02\\x03\"", "bytes:from_vec");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1192:20
[INFO] [stdout]      |
[INFO] [stdout] 1192 |         assert_eq!(gen("std:bytes:to_hex $b\"abc\\xFF\""),                  "\"616263FF\"");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1193:20
[INFO] [stdout]      |
[INFO] [stdout] 1193 |         assert_eq!(gen("std:bytes:to_hex $b\"abc\\xFF\" 6"),                "\"616263 FF\"");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1194:20
[INFO] [stdout]      |
[INFO] [stdout] 1194 |         assert_eq!(gen("std:bytes:to_hex $b\"abc\\xFF\" 6 \":\""),          "\"616263:FF\"");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1195:20
[INFO] [stdout]      |
[INFO] [stdout] 1195 |         assert_eq!(gen("std:bytes:to_hex $b\"abc\\xFF\" 1 \":\""),          "\"6:1:6:2:6:3:F:F\"");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1197:20
[INFO] [stdout]      |
[INFO] [stdout] 1197 |         assert_eq!(gen("std:bytes:from_hex ~ std:bytes:to_hex $b\"abc\\xFF\""),         "$b\"abc\\xFF\"");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1198:20
[INFO] [stdout]      |
[INFO] [stdout] 1198 |         assert_eq!(gen("std:bytes:from_hex ~ std:bytes:to_hex $b\"abc\\xFF\" 6"),       "$b\"abc\\xFF\"");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1199:20
[INFO] [stdout]      |
[INFO] [stdout] 1199 |         assert_eq!(gen("std:bytes:from_hex ~ std:bytes:to_hex $b\"abc\\xFF\" 6 \":\""), "$b\"abc\\xFF\"");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1200:20
[INFO] [stdout]      |
[INFO] [stdout] 1200 |         assert_eq!(gen("std:bytes:from_hex ~ std:bytes:to_hex $b\"abc\\xFF\" 1 \":\""), "$b\"abc\\xFF\"");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1201:20
[INFO] [stdout]      |
[INFO] [stdout] 1201 |         assert_eq!(gen("std:bytes:from_hex ~ std:bytes:to_hex $b\"\\x00abc\\xFF\" 1 \":\""), "$b\"\\0abc\\xFF\"");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1203:20
[INFO] [stdout]      |
[INFO] [stdout] 1203 |         assert_eq!(gen("std:str:to_char_vec $q ABC "), "$[65,66,67]");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `gen` is a keyword in the 2024 edition
[INFO] [stdout]     --> src/vm.rs:1204:20
[INFO] [stdout]      |
[INFO] [stdout] 1204 |         assert_eq!(gen("$q ABC | std:str:to_char_vec | std:str:from_char_vec"), "\"ABC\"");
[INFO] [stdout]      |                    ^^^ help: you can use a raw identifier to stay compatible: `r#gen`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/gen-keyword.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]     --> src/vval.rs:1926:10
[INFO] [stdout]      |
[INFO] [stdout] 1926 |     ($c: expr, $i: expr, $x: ident, $y: ident, $z: ident, $w: ident) => (
[INFO] [stdout]      |          ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout]      = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]      |
[INFO] [stdout] 1926 |     ($c: expr_2021, $i: expr, $x: ident, $y: ident, $z: ident, $w: ident) => (
[INFO] [stdout]      |              +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]     --> src/vval.rs:1926:20
[INFO] [stdout]      |
[INFO] [stdout] 1926 |     ($c: expr, $i: expr, $x: ident, $y: ident, $z: ident, $w: ident) => (
[INFO] [stdout]      |                    ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]      |
[INFO] [stdout] 1926 |     ($c: expr, $i: expr_2021, $x: ident, $y: ident, $z: ident, $w: ident) => (
[INFO] [stdout]      |                        +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]     --> src/vval.rs:1993:10
[INFO] [stdout]      |
[INFO] [stdout] 1993 |     ($i: expr) => {
[INFO] [stdout]      |          ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]      |
[INFO] [stdout] 1993 |     ($i: expr_2021) => {
[INFO] [stdout]      |              +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]     --> src/vval.rs:2007:10
[INFO] [stdout]      |
[INFO] [stdout] 2007 |     ($i: expr, $v: ident, $conv: block, $def: expr) => {
[INFO] [stdout]      |          ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]      |
[INFO] [stdout] 2007 |     ($i: expr_2021, $v: ident, $conv: block, $def: expr) => {
[INFO] [stdout]      |              +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]     --> src/vval.rs:2007:47
[INFO] [stdout]      |
[INFO] [stdout] 2007 |     ($i: expr, $v: ident, $conv: block, $def: expr) => {
[INFO] [stdout]      |                                               ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]      |
[INFO] [stdout] 2007 |     ($i: expr, $v: ident, $conv: block, $def: expr_2021) => {
[INFO] [stdout]      |                                                   +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]     --> src/vval.rs:2013:10
[INFO] [stdout]      |
[INFO] [stdout] 2013 |     ($a: expr, $b: expr) => {
[INFO] [stdout]      |          ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]      |
[INFO] [stdout] 2013 |     ($a: expr_2021, $b: expr) => {
[INFO] [stdout]      |              +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]     --> src/vval.rs:2013:20
[INFO] [stdout]      |
[INFO] [stdout] 2013 |     ($a: expr, $b: expr) => {
[INFO] [stdout]      |                    ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]      |
[INFO] [stdout] 2013 |     ($a: expr, $b: expr_2021) => {
[INFO] [stdout]      |                        +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/ops.rs:646:50
[INFO] [stdout]     |
[INFO] [stdout] 646 |     ($self: ident, $env: ident, $pos: ident, $v: expr) => {
[INFO] [stdout]     |                                                  ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 646 |     ($self: ident, $env: ident, $pos: ident, $v: expr_2021) => {
[INFO] [stdout]     |                                                      +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/vm.rs:36:86
[INFO] [stdout]    |
[INFO] [stdout] 36 |     ($env: ident, $ret: ident, $retv: ident, $data: ident, $respos_var: ident, $val: expr) => {
[INFO] [stdout]    |                                                                                      ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 36 |     ($env: ident, $ret: ident, $retv: ident, $data: ident, $respos_var: ident, $val: expr_2021) => {
[INFO] [stdout]    |                                                                                          +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/vm.rs:106:23
[INFO] [stdout]     |
[INFO] [stdout] 106 |     ($v: ident, $msg: expr, $retv: ident) => {
[INFO] [stdout]     |                       ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 106 |     ($v: ident, $msg: expr_2021, $retv: ident) => {
[INFO] [stdout]     |                           +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/vm.rs:138:37
[INFO] [stdout]     |
[INFO] [stdout] 138 |     ($env: ident, $pc: ident, $val: expr, $uw_depth: ident, $retv: ident) => {
[INFO] [stdout]     |                                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 138 |     ($env: ident, $pc: ident, $val: expr_2021, $uw_depth: ident, $retv: ident) => {
[INFO] [stdout]     |                                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/vm.rs:188:38
[INFO] [stdout]     |
[INFO] [stdout] 188 |     ($f: ident, $argc: ident, $popc: expr, $env: ident, $retv: ident, $uw_depth: ident, $prog: ident, $pc: ident, $call_ret: ident,...
[INFO] [stdout]     |                                      ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 188 |     ($f: ident, $argc: ident, $popc: expr_2021, $env: ident, $retv: ident, $uw_depth: ident, $prog: ident, $pc: ident, $call_ret: ident, $cont: block) => {
[INFO] [stdout]     |                                          +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]     --> src/prelude.rs:9233:24
[INFO] [stdout]      |
[INFO] [stdout] 9233 |     ($g: ident, $name: expr, $cb: expr, $min: expr, $max: expr, $err_arg_ok: expr) => {
[INFO] [stdout]      |                        ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]      |
[INFO] [stdout] 9233 |     ($g: ident, $name: expr_2021, $cb: expr, $min: expr, $max: expr, $err_arg_ok: expr) => {
[INFO] [stdout]      |                            +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]     --> src/prelude.rs:9233:35
[INFO] [stdout]      |
[INFO] [stdout] 9233 |     ($g: ident, $name: expr, $cb: expr, $min: expr, $max: expr, $err_arg_ok: expr) => {
[INFO] [stdout]      |                                   ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]      |
[INFO] [stdout] 9233 |     ($g: ident, $name: expr, $cb: expr_2021, $min: expr, $max: expr, $err_arg_ok: expr) => {
[INFO] [stdout]      |                                       +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]     --> src/prelude.rs:9233:47
[INFO] [stdout]      |
[INFO] [stdout] 9233 |     ($g: ident, $name: expr, $cb: expr, $min: expr, $max: expr, $err_arg_ok: expr) => {
[INFO] [stdout]      |                                               ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]      |
[INFO] [stdout] 9233 |     ($g: ident, $name: expr, $cb: expr, $min: expr_2021, $max: expr, $err_arg_ok: expr) => {
[INFO] [stdout]      |                                                   +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]     --> src/prelude.rs:9233:59
[INFO] [stdout]      |
[INFO] [stdout] 9233 |     ($g: ident, $name: expr, $cb: expr, $min: expr, $max: expr, $err_arg_ok: expr) => {
[INFO] [stdout]      |                                                           ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]      |
[INFO] [stdout] 9233 |     ($g: ident, $name: expr, $cb: expr, $min: expr, $max: expr_2021, $err_arg_ok: expr) => {
[INFO] [stdout]      |                                                               +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]     --> src/prelude.rs:9233:78
[INFO] [stdout]      |
[INFO] [stdout] 9233 |     ($g: ident, $name: expr, $cb: expr, $min: expr, $max: expr, $err_arg_ok: expr) => {
[INFO] [stdout]      |                                                                              ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]      |
[INFO] [stdout] 9233 |     ($g: ident, $name: expr, $cb: expr, $min: expr, $max: expr, $err_arg_ok: expr_2021) => {
[INFO] [stdout]      |                                                                                  +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]     --> src/prelude.rs:9239:70
[INFO] [stdout]      |
[INFO] [stdout] 9239 |     ($g: ident, $op: tt, $env: ident, $argc: ident, $b: block, $min: expr, $max: expr, $err_arg_ok: expr) => {
[INFO] [stdout]      |                                                                      ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]      |
[INFO] [stdout] 9239 |     ($g: ident, $op: tt, $env: ident, $argc: ident, $b: block, $min: expr_2021, $max: expr, $err_arg_ok: expr) => {
[INFO] [stdout]      |                                                                          +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]     --> src/prelude.rs:9239:82
[INFO] [stdout]      |
[INFO] [stdout] 9239 |     ($g: ident, $op: tt, $env: ident, $argc: ident, $b: block, $min: expr, $max: expr, $err_arg_ok: expr) => {
[INFO] [stdout]      |                                                                                  ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]      |
[INFO] [stdout] 9239 |     ($g: ident, $op: tt, $env: ident, $argc: ident, $b: block, $min: expr, $max: expr_2021, $err_arg_ok: expr) => {
[INFO] [stdout]      |                                                                                      +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]     --> src/prelude.rs:9239:101
[INFO] [stdout]      |
[INFO] [stdout] 9239 |     ($g: ident, $op: tt, $env: ident, $argc: ident, $b: block, $min: expr, $max: expr, $err_arg_ok: expr) => {
[INFO] [stdout]      |                                                                                                     ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]      |
[INFO] [stdout] 9239 |     ($g: ident, $op: tt, $env: ident, $argc: ident, $b: block, $min: expr, $max: expr, $err_arg_ok: expr_2021) => {
[INFO] [stdout]      |                                                                                                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]     --> src/prelude.rs:9262:32
[INFO] [stdout]      |
[INFO] [stdout] 9262 |     ($g: ident, $op: tt, $err: expr) => {
[INFO] [stdout]      |                                ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]      |
[INFO] [stdout] 9262 |     ($g: ident, $op: tt, $err: expr_2021) => {
[INFO] [stdout]      |                                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]     --> src/prelude.rs:9301:53
[INFO] [stdout]      |
[INFO] [stdout] 9301 |     ($g: ident, $op: tt, $a: ident, $b: ident, $ef: expr, $ei: expr) => {
[INFO] [stdout]      |                                                     ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]      |
[INFO] [stdout] 9301 |     ($g: ident, $op: tt, $a: ident, $b: ident, $ef: expr_2021, $ei: expr) => {
[INFO] [stdout]      |                                                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]     --> src/prelude.rs:9301:64
[INFO] [stdout]      |
[INFO] [stdout] 9301 |     ($g: ident, $op: tt, $a: ident, $b: ident, $ef: expr, $ei: expr) => {
[INFO] [stdout]      |                                                                ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]      |
[INFO] [stdout] 9301 |     ($g: ident, $op: tt, $a: ident, $b: ident, $ef: expr, $ei: expr_2021) => {
[INFO] [stdout]      |                                                                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]     --> src/prelude.rs:9313:52
[INFO] [stdout]      |
[INFO] [stdout] 9313 |     ($g: ident, $op: tt, $a: ident, $b: ident, $e: expr) => {
[INFO] [stdout]      |                                                    ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]      |
[INFO] [stdout] 9313 |     ($g: ident, $op: tt, $a: ident, $b: ident, $e: expr_2021) => {
[INFO] [stdout]      |                                                        +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]     --> src/prelude.rs:9324:57
[INFO] [stdout]      |
[INFO] [stdout] 9324 |     ($g: ident, $op: literal, $a: ident, $b: ident, $e: expr) => {
[INFO] [stdout]      |                                                         ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]      |
[INFO] [stdout] 9324 |     ($g: ident, $op: literal, $a: ident, $b: ident, $e: expr_2021) => {
[INFO] [stdout]      |                                                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/vval_user_obj.rs:35:11
[INFO] [stdout]    |
[INFO] [stdout] 35 |     ($vv: expr, $obj: ident, $method: tt, $min: expr, $max: expr, $env: ident, $argc: ident, $b: block) => {
[INFO] [stdout]    |           ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 35 |     ($vv: expr_2021, $obj: ident, $method: tt, $min: expr, $max: expr, $env: ident, $argc: ident, $b: block) => {
[INFO] [stdout]    |               +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/vval_user_obj.rs:35:49
[INFO] [stdout]    |
[INFO] [stdout] 35 |     ($vv: expr, $obj: ident, $method: tt, $min: expr, $max: expr, $env: ident, $argc: ident, $b: block) => {
[INFO] [stdout]    |                                                 ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 35 |     ($vv: expr, $obj: ident, $method: tt, $min: expr_2021, $max: expr, $env: ident, $argc: ident, $b: block) => {
[INFO] [stdout]    |                                                     +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/vval_user_obj.rs:35:61
[INFO] [stdout]    |
[INFO] [stdout] 35 |     ($vv: expr, $obj: ident, $method: tt, $min: expr, $max: expr, $env: ident, $argc: ident, $b: block) => {
[INFO] [stdout]    |                                                             ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 35 |     ($vv: expr, $obj: ident, $method: tt, $min: expr, $max: expr_2021, $env: ident, $argc: ident, $b: block) => {
[INFO] [stdout]    |                                                                 +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/formatter.rs:542:76
[INFO] [stdout]     |
[INFO] [stdout] 542 |     ($ftype: ident, $align: ident, $fs: ident, $prefix: literal, $postfix: expr, $arg0: expr, $arg1: expr) => {
[INFO] [stdout]     |                                                                            ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 542 |     ($ftype: ident, $align: ident, $fs: ident, $prefix: literal, $postfix: expr_2021, $arg0: expr, $arg1: expr) => {
[INFO] [stdout]     |                                                                                +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/formatter.rs:542:89
[INFO] [stdout]     |
[INFO] [stdout] 542 |     ($ftype: ident, $align: ident, $fs: ident, $prefix: literal, $postfix: expr, $arg0: expr, $arg1: expr) => {
[INFO] [stdout]     |                                                                                         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 542 |     ($ftype: ident, $align: ident, $fs: ident, $prefix: literal, $postfix: expr, $arg0: expr_2021, $arg1: expr) => {
[INFO] [stdout]     |                                                                                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/formatter.rs:542:102
[INFO] [stdout]     |
[INFO] [stdout] 542 |     ($ftype: ident, $align: ident, $fs: ident, $prefix: literal, $postfix: expr, $arg0: expr, $arg1: expr) => {
[INFO] [stdout]     |                                                                                                      ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 542 |     ($ftype: ident, $align: ident, $fs: ident, $prefix: literal, $postfix: expr, $arg0: expr, $arg1: expr_2021) => {
[INFO] [stdout]     |                                                                                                          +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/formatter.rs:558:61
[INFO] [stdout]     |
[INFO] [stdout] 558 |     ($align: ident, $fs: ident, $prefix: literal, $postfix: expr, $arg0: expr, $arg1: expr) => {
[INFO] [stdout]     |                                                             ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 558 |     ($align: ident, $fs: ident, $prefix: literal, $postfix: expr_2021, $arg0: expr, $arg1: expr) => {
[INFO] [stdout]     |                                                                 +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/formatter.rs:558:74
[INFO] [stdout]     |
[INFO] [stdout] 558 |     ($align: ident, $fs: ident, $prefix: literal, $postfix: expr, $arg0: expr, $arg1: expr) => {
[INFO] [stdout]     |                                                                          ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 558 |     ($align: ident, $fs: ident, $prefix: literal, $postfix: expr, $arg0: expr_2021, $arg1: expr) => {
[INFO] [stdout]     |                                                                              +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/formatter.rs:558:87
[INFO] [stdout]     |
[INFO] [stdout] 558 |     ($align: ident, $fs: ident, $prefix: literal, $postfix: expr, $arg0: expr, $arg1: expr) => {
[INFO] [stdout]     |                                                                                       ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 558 |     ($align: ident, $fs: ident, $prefix: literal, $postfix: expr, $arg0: expr, $arg1: expr_2021) => {
[INFO] [stdout]     |                                                                                           +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/formatter.rs:565:61
[INFO] [stdout]     |
[INFO] [stdout] 565 |     ($align: ident, $fs: ident, $prefix: literal, $postfix: expr, $arg0: expr, $arg1: expr, $arg2: expr) => {
[INFO] [stdout]     |                                                             ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 565 |     ($align: ident, $fs: ident, $prefix: literal, $postfix: expr_2021, $arg0: expr, $arg1: expr, $arg2: expr) => {
[INFO] [stdout]     |                                                                 +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/formatter.rs:565:74
[INFO] [stdout]     |
[INFO] [stdout] 565 |     ($align: ident, $fs: ident, $prefix: literal, $postfix: expr, $arg0: expr, $arg1: expr, $arg2: expr) => {
[INFO] [stdout]     |                                                                          ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 565 |     ($align: ident, $fs: ident, $prefix: literal, $postfix: expr, $arg0: expr_2021, $arg1: expr, $arg2: expr) => {
[INFO] [stdout]     |                                                                              +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/formatter.rs:565:87
[INFO] [stdout]     |
[INFO] [stdout] 565 |     ($align: ident, $fs: ident, $prefix: literal, $postfix: expr, $arg0: expr, $arg1: expr, $arg2: expr) => {
[INFO] [stdout]     |                                                                                       ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 565 |     ($align: ident, $fs: ident, $prefix: literal, $postfix: expr, $arg0: expr, $arg1: expr_2021, $arg2: expr) => {
[INFO] [stdout]     |                                                                                           +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/formatter.rs:565:100
[INFO] [stdout]     |
[INFO] [stdout] 565 |     ($align: ident, $fs: ident, $prefix: literal, $postfix: expr, $arg0: expr, $arg1: expr, $arg2: expr) => {
[INFO] [stdout]     |                                                                                                    ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 565 |     ($align: ident, $fs: ident, $prefix: literal, $postfix: expr, $arg0: expr, $arg1: expr, $arg2: expr_2021) => {
[INFO] [stdout]     |                                                                                                        +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/packer.rs:12:80
[INFO] [stdout]    |
[INFO] [stdout] 12 |     ($ps: ident, $i: ident, $u8vec: ident, $endian: ident, $type: ident, $len: expr, $out: expr) => {
[INFO] [stdout]    |                                                                                ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 12 |     ($ps: ident, $i: ident, $u8vec: ident, $endian: ident, $type: ident, $len: expr_2021, $out: expr) => {
[INFO] [stdout]    |                                                                                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/packer.rs:12:92
[INFO] [stdout]    |
[INFO] [stdout] 12 |     ($ps: ident, $i: ident, $u8vec: ident, $endian: ident, $type: ident, $len: expr, $out: expr) => {
[INFO] [stdout]    |                                                                                            ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 12 |     ($ps: ident, $i: ident, $u8vec: ident, $endian: ident, $type: ident, $len: expr, $out: expr_2021) => {
[INFO] [stdout]    |                                                                                                +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/packer.rs:31:80
[INFO] [stdout]    |
[INFO] [stdout] 31 |     ($ps: ident, $i: ident, $u8vec: ident, $endian: ident, $type: ident, $len: expr, $out: ident, $outtype: ident) => {
[INFO] [stdout]    |                                                                                ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 31 |     ($ps: ident, $i: ident, $u8vec: ident, $endian: ident, $type: ident, $len: expr_2021, $out: ident, $outtype: ident) => {
[INFO] [stdout]    |                                                                                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/packer.rs:51:80
[INFO] [stdout]    |
[INFO] [stdout] 51 |     ($ps: ident, $i: ident, $u8vec: ident, $endian: ident, $type: ident, $len: expr, $out: expr) => {
[INFO] [stdout]    |                                                                                ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 51 |     ($ps: ident, $i: ident, $u8vec: ident, $endian: ident, $type: ident, $len: expr_2021, $out: expr) => {
[INFO] [stdout]    |                                                                                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/packer.rs:51:92
[INFO] [stdout]    |
[INFO] [stdout] 51 |     ($ps: ident, $i: ident, $u8vec: ident, $endian: ident, $type: ident, $len: expr, $out: expr) => {
[INFO] [stdout]    |                                                                                            ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 51 |     ($ps: ident, $i: ident, $u8vec: ident, $endian: ident, $type: ident, $len: expr, $out: expr_2021) => {
[INFO] [stdout]    |                                                                                                +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/packer.rs:70:41
[INFO] [stdout]    |
[INFO] [stdout] 70 |     ($u8vec: ident, $endian: ident, $v: expr) => {
[INFO] [stdout]    |                                         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 70 |     ($u8vec: ident, $endian: ident, $v: expr_2021) => {
[INFO] [stdout]    |                                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/stdlib/xml.rs:20:37
[INFO] [stdout]    |
[INFO] [stdout] 20 |     ($env: ident, $rd: ident, $val: expr) => {
[INFO] [stdout]    |                                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 20 |     ($env: ident, $rd: ident, $val: expr_2021) => {
[INFO] [stdout]    |                                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/stdlib/xml.rs:35:37
[INFO] [stdout]    |
[INFO] [stdout] 35 |     ($env: ident, $rd: ident, $val: expr) => {
[INFO] [stdout]    |                                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 35 |     ($env: ident, $rd: ident, $val: expr_2021) => {
[INFO] [stdout]    |                                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/stdlib/xml.rs:249:43
[INFO] [stdout]     |
[INFO] [stdout] 249 |     ($env: ident, $writer: ident, $event: expr) => {
[INFO] [stdout]     |                                           ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 249 |     ($env: ident, $writer: ident, $event: expr_2021) => {
[INFO] [stdout]     |                                               +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/stdlib/net.rs:124:12
[INFO] [stdout]     |
[INFO] [stdout] 124 |     ($arg: expr, $env: expr, $ep: ident, $block: tt) => {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 124 |     ($arg: expr_2021, $env: expr, $ep: ident, $block: tt) => {
[INFO] [stdout]     |                +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/stdlib/net.rs:124:24
[INFO] [stdout]     |
[INFO] [stdout] 124 |     ($arg: expr, $env: expr, $ep: ident, $block: tt) => {
[INFO] [stdout]     |                        ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 124 |     ($arg: expr, $env: expr_2021, $ep: ident, $block: tt) => {
[INFO] [stdout]     |                            +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/stdlib/net.rs:160:12
[INFO] [stdout]     |
[INFO] [stdout] 160 |     ($arg: expr, $env: expr) => {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 160 |     ($arg: expr_2021, $env: expr) => {
[INFO] [stdout]     |                +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/stdlib/net.rs:160:24
[INFO] [stdout]     |
[INFO] [stdout] 160 |     ($arg: expr, $env: expr) => {
[INFO] [stdout]     |                        ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 160 |     ($arg: expr, $env: expr_2021) => {
[INFO] [stdout]     |                            +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/stdlib/net.rs:184:12
[INFO] [stdout]     |
[INFO] [stdout] 184 |     ($arg: expr, $env: expr, $addr: ident, $block: tt) => {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 184 |     ($arg: expr_2021, $env: expr, $addr: ident, $block: tt) => {
[INFO] [stdout]     |                +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/stdlib/net.rs:184:24
[INFO] [stdout]     |
[INFO] [stdout] 184 |     ($arg: expr, $env: expr, $addr: ident, $block: tt) => {
[INFO] [stdout]     |                        ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 184 |     ($arg: expr, $env: expr_2021, $addr: ident, $block: tt) => {
[INFO] [stdout]     |                            +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/vval.rs:1642:25
[INFO] [stdout]      |
[INFO] [stdout] 1641 |         let mut e = Env::new(global);
[INFO] [stdout]      |             -----
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `e` calls a custom destructor
[INFO] [stdout]      |             `e` will be dropped later as of Edition 2024
[INFO] [stdout] 1642 |         if let Err(e) = self.fun.call_internal(&mut e, 0) {
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1645 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/vval.rs:2438:38
[INFO] [stdout]      |
[INFO] [stdout] 2438 |             while let Some((v, _)) = i.next() {
[INFO] [stdout]      |                             -        ^^^^^^^^
[INFO] [stdout]      |                             |        |
[INFO] [stdout]      |                             |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                             |        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                             `v` calls a custom destructor
[INFO] [stdout]      |                             `v` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2443 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `v` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `v` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `v` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/vval.rs:3145:42
[INFO] [stdout]      |
[INFO] [stdout] 3145 |                 while let Some((_, k)) = i.next() {
[INFO] [stdout]      |                                    -     ^^^^^^^^
[INFO] [stdout]      |                                    |     |
[INFO] [stdout]      |                                    |     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                    |     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                    `k` calls a custom destructor
[INFO] [stdout]      |                                    `k` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 3149 |                 }
[INFO] [stdout]      |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `k` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `k` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `k` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/vval.rs:2074:48
[INFO] [stdout]      |
[INFO] [stdout] 2067 |                         let a =
[INFO] [stdout]      |                             -
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             `a` calls a custom destructor
[INFO] [stdout]      |                             `a` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2074 |                         if let Some((b, bk)) = bi.next() {
[INFO] [stdout]      |                                                ^^^^^^^^^
[INFO] [stdout]      |                                                |
[INFO] [stdout]      |                                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2086 |                     } else {
[INFO] [stdout]      |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 3392 |                 pair_key_to_iter!(p)
[INFO] [stdout]      |                 -------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `a` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `a` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `a` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `pair_key_to_iter` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/vval.rs:3584:54
[INFO] [stdout]      |
[INFO] [stdout] 3584 |                         if let Some(VVal::Err(ev)) = env.arg_err_internal(i) {
[INFO] [stdout]      |                                               --     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                               |      |
[INFO] [stdout]      |                                               |      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                               |      up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                               `ev` calls a custom destructor
[INFO] [stdout]      |                                               `ev` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 3588 |                                             ev.borrow().0.s()),
[INFO] [stdout]      |                                             -----------
[INFO] [stdout]      |                                             |
[INFO] [stdout]      |                                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                             `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 3589 |                                     Some(ev.borrow().1.clone()),
[INFO] [stdout]      |                                          -----------
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                          `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 3592 |                     }
[INFO] [stdout]      |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `ev` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `ev` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `ev` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:1582:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:1582:0
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]     --> src/vval.rs:4424:23
[INFO] [stdout]      |
[INFO] [stdout] 4424 |             VVal::Opt(ref b) => {
[INFO] [stdout]      |                       ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]      |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]     --> src/vval.rs:4424:13
[INFO] [stdout]      |
[INFO] [stdout] 4424 |             VVal::Opt(ref b) => {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]      = note: `--force-warn rust-2024-incompatible-pat` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]      |
[INFO] [stdout] 4424 -             VVal::Opt(ref b) => {
[INFO] [stdout] 4424 +             VVal::Opt(b) => {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: rustc interrupted by SIGSEGV, printing backtrace
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/vval.rs:2008:32
[INFO] [stdout]      |
[INFO] [stdout] 2008 |         if let Some(($v, _)) = $i.next() { $conv } else { $def }
[INFO] [stdout]      |                                ^^^^^^^^^
[INFO] [stdout]      |                                |
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 4420 |                 let mut i = i.borrow_mut();
[INFO] [stdout]      |                     -----
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `i` calls a custom destructor
[INFO] [stdout]      |                     `i` will be dropped later as of Edition 2024
[INFO] [stdout] 4421 |                 for _ in 0..index { i.next(); }
[INFO] [stdout] 4422 |                 iter_next_value!(i, v, { Some(v) }, None)
[INFO] [stdout]      |                 ----------------------------------------- in this macro invocation
[INFO] [stdout] 4423 |             },
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `i` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:2050:0
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `iter_next_value` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/vval.rs:2008:32
[INFO] [stdout]      |
[INFO] [stdout] 2008 |         if let Some(($v, _)) = $i.next() { $conv } else { $def }
[INFO] [stdout]      |                                ^^^^^^^^^
[INFO] [stdout]      |                                |
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 4556 |                 let mut i = i.borrow_mut();
[INFO] [stdout]      |                     -----
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `i` calls a custom destructor
[INFO] [stdout]      |                     `i` will be dropped later as of Edition 2024
[INFO] [stdout] 4557 |                 for _ in 0..idx { i.next(); }
[INFO] [stdout] 4558 |                 iter_next_value!(i, v, { Some(v) }, None)
[INFO] [stdout]      |                 ----------------------------------------- in this macro invocation
[INFO] [stdout] 4559 |             },
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `i` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:2050:0
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `iter_next_value` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] /opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/lib/librustc_driver-f84658577f279709.so(+0x3cf9acc)[0x7508316f9acc]
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]     --> src/vval.rs:4721:23
[INFO] [stdout]      |
[INFO] [stdout] 4721 |             VVal::Byt(ref mut b) => {
[INFO] [stdout]      |                       ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]      |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]     --> src/vval.rs:4721:13
[INFO] [stdout]      |
[INFO] [stdout] 4721 |             VVal::Byt(ref mut b) => {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]      |
[INFO] [stdout] 4721 -             VVal::Byt(ref mut b) => {
[INFO] [stdout] 4721 +             VVal::Byt(b) => {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] /lib/x86_64-linux-gnu/libc.so.6(+0x45330)[0x75082d833330]
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]     --> src/vval.rs:4735:23
[INFO] [stdout]      |
[INFO] [stdout] 4735 |             VVal::Str(ref mut a) => {
[INFO] [stdout]      |                       ^^^^^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]      |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]     --> src/vval.rs:4735:13
[INFO] [stdout]      |
[INFO] [stdout] 4735 |             VVal::Str(ref mut a) => {
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&mut _`
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]      |
[INFO] [stdout] 4735 -             VVal::Str(ref mut a) => {
[INFO] [stdout] 4735 +             VVal::Str(a) => {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] /opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/lib/librustc_driver-f84658577f279709.so(+0x4583125)[0x750831f83125]
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/vval.rs:5890:36
[INFO] [stdout]      |
[INFO] [stdout] 5890 |         while let Some((ke, ve)) = map.next_entry()? {
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                    |
[INFO] [stdout]      |                                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                    up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 5891 |             let k : VVal = ke;
[INFO] [stdout]      |                 -
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `k` calls a custom destructor
[INFO] [stdout]      |                 `k` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 5894 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `k` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `k` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `k` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] /opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/lib/librustc_driver-f84658577f279709.so(+0x45823d2)[0x750831f823d2]
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/parser.rs:1077:17
[INFO] [stdout]      |
[INFO] [stdout] 1076 |                 let s = parse_string(ps, false)?;
[INFO] [stdout]      |                     -
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `s` calls a custom destructor
[INFO] [stdout]      |                     `s` will be dropped later as of Edition 2024
[INFO] [stdout] 1077 |                 s.at(1).unwrap().with_s_ref(|s: &str|
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1078 |                     Ok(make_sym(ps, s)))
[INFO] [stdout] 1079 |             } else {
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `s` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `s` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `s` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/compiler.rs:683:19
[INFO] [stdout]      |
[INFO] [stdout]  682 |             let mut ctx = ctx.register_self_eval();
[INFO] [stdout]      |                 -------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `ctx` calls a custom destructor
[INFO] [stdout]      |                 `ctx` will be dropped later as of Edition 2024
[INFO] [stdout]  683 |             match ctx.eval(&code) {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  687 |         }, Some(1), Some(2));
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `ctx` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `ctx` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `ctx` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] ### cycle encountered after 4 frames with period 5
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/compiler.rs:1718:25
[INFO] [stdout]      |
[INFO] [stdout] 1711 |     let syn  = ast.at(0).unwrap_or(VVal::None);
[INFO] [stdout]      |         ---
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `syn` calls a custom destructor
[INFO] [stdout]      |         `syn` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1718 |     if let Some(expr) = ast.at(2) {
[INFO] [stdout]      |                         ^^^^^^^^^
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1730 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `syn` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `syn` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `syn` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] /opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/lib/librustc_driver-f84658577f279709.so(+0x45827d9)[0x750831f827d9]
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/compiler.rs:1766:30
[INFO] [stdout]      |
[INFO] [stdout] 1750 |     let syn  = ast.at(0).unwrap_or(VVal::None);
[INFO] [stdout]      |         ---
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `syn` calls a custom destructor
[INFO] [stdout]      |         `syn` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1766 |     if let Some(else_body) = ast.at(4) {
[INFO] [stdout]      |                              ^^^^^^^^^
[INFO] [stdout]      |                              |
[INFO] [stdout]      |                              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1833 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `syn` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `syn` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `syn` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] /opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/lib/librustc_driver-f84658577f279709.so(+0x45827d9)[0x750831f827d9]
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/compiler.rs:1766:30
[INFO] [stdout]      |
[INFO] [stdout] 1750 |     let syn  = ast.at(0).unwrap_or(VVal::None);
[INFO] [stdout]      |         ---
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `syn` calls a custom destructor
[INFO] [stdout]      |         `syn` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1758 |     let cond =
[INFO] [stdout]      |         ----
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `cond` calls a custom destructor
[INFO] [stdout]      |         `cond` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1762 |     let then_body =
[INFO] [stdout]      |         ---------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `then_body` calls a custom destructor
[INFO] [stdout]      |         `then_body` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1766 |     if let Some(else_body) = ast.at(4) {
[INFO] [stdout]      |                              ^^^^^^^^^
[INFO] [stdout]      |                              |
[INFO] [stdout]      |                              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1833 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `syn` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `syn` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `syn` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `cond` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `then_body` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] /opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/lib/librustc_driver-f84658577f279709.so(+0x45827d9)[0x750831f827d9]
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/compiler.rs:3044:27
[INFO] [stdout]      |
[INFO] [stdout] 3033 |                     let mut p = Prog::new();
[INFO] [stdout]      |                         -----
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         `p` calls a custom destructor
[INFO] [stdout]      |                         `p` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 3037 |                     let mut e = Env::new(global);
[INFO] [stdout]      |                         -----
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         `e` calls a custom destructor
[INFO] [stdout]      |                         `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 3044 |                     match crate::vm::vm(&p, &mut e) {
[INFO] [stdout]      |                           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 3050 |                 },
[INFO] [stdout]      |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `p` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `p` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `p` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] /opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/lib/librustc_driver-f84658577f279709.so(+0x45827d9)[0x750831f827d9]
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/compiler.rs:3029:19
[INFO] [stdout]      |
[INFO] [stdout] 3028 |             let mut ce = CompileEnv::new(global.clone());
[INFO] [stdout]      |                 ------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `ce` calls a custom destructor
[INFO] [stdout]      |                 `ce` will be dropped later as of Edition 2024
[INFO] [stdout] 3029 |             match compile(&ast, &mut ce) {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 3053 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `ce` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `ce` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `ce` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] /opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/lib/librustc_driver-f84658577f279709.so(+0x45827d9)[0x750831f827d9]
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/compiler.rs:3026:11
[INFO] [stdout]      |
[INFO] [stdout] 3025 |     let global = GlobalEnv::new_default();
[INFO] [stdout]      |         ------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `global` calls a custom destructor
[INFO] [stdout]      |         `global` will be dropped later as of Edition 2024
[INFO] [stdout] 3026 |     match parser::parse(s, "<compiler:s_eval>") {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 3056 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `global` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `global` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/rc.rs:3649:0
[INFO] [stdout] note: `global` invokes this custom destructor
[INFO] [stdout]     --> src/vval.rs:1637:1
[INFO] [stdout]      |
[INFO] [stdout] 1637 | impl Drop for DropFun {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] ### recursed 50 times
[INFO] [stderr] 
[INFO] [stderr] /opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/lib/librustc_driver-f84658577f279709.so(+0x45827d9)[0x750831f827d9]
[INFO] [stderr] /opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/lib/librustc_driver-f84658577f279709.so(+0x45827d9)[0x750831f827d9]
[INFO] [stderr] 
[INFO] [stderr] note: rustc unexpectedly overflowed its stack! this is a bug
[INFO] [stderr] note: maximum backtrace depth reached, frames may have been lost
[INFO] [stderr] note: we would appreciate a report at https://github.com/rust-lang/rust
[INFO] [stderr] help: you can increase rustc's stack size by setting RUST_MIN_STACK=16777216
[INFO] [stderr] child failed with signal `11`
[INFO] [stderr] error: could not compile `wlambda` (lib); 173 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/bin/cargo /opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/bin/rustc --crate-name wlambda --edition=2021 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 --cfg 'feature="base64"' --cfg 'feature="chrono"' --cfg 'feature="default"' --cfg 'feature="quick-xml"' --cfg 'feature="regex"' --cfg 'feature="rmp-serde"' --cfg 'feature="rustyline"' --cfg 'feature="serde"' --cfg 'feature="serde_json"' --cfg 'feature="socket2"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("all", "base64", "chrono", "default", "http", "mint", "mqtt", "quick-xml", "regex", "reqwest", "rmp-serde", "rumqttc", "rumqttd", "rustyline", "serde", "serde_json", "socket2"))' -C metadata=44a4bf5290ec6bda -C extra-filename=-c40e2985c183e837 --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern base64=/opt/rustwide/target/debug/deps/libbase64-250f2105f09d7866.rmeta --extern chrono=/opt/rustwide/target/debug/deps/libchrono-6e1ebf35bbdfe2ba.rmeta --extern fnv=/opt/rustwide/target/debug/deps/libfnv-77c502cd42f57b8f.rmeta --extern quick_xml=/opt/rustwide/target/debug/deps/libquick_xml-e747ff48322cee3e.rmeta --extern regex=/opt/rustwide/target/debug/deps/libregex-7c2565f8f21b333c.rmeta --extern rmp_serde=/opt/rustwide/target/debug/deps/librmp_serde-25e6ef63d5097ae6.rmeta --extern rustyline=/opt/rustwide/target/debug/deps/librustyline-3b9c16d09be986b3.rmeta --extern serde=/opt/rustwide/target/debug/deps/libserde-b3ad5c26d66de996.rmeta --extern serde_json=/opt/rustwide/target/debug/deps/libserde_json-781843a3b09bc54e.rmeta --extern socket2=/opt/rustwide/target/debug/deps/libsocket2-3924948c7c66725d.rmeta` (exit status: 2)
[INFO] running `Command { std: "docker" "inspect" "b0fba8e85f3449057a0232b6fdf0b1d2a768236bc8f9a85fb4be2552203c42ac", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b0fba8e85f3449057a0232b6fdf0b1d2a768236bc8f9a85fb4be2552203c42ac", kill_on_drop: false }`
[INFO] [stdout] b0fba8e85f3449057a0232b6fdf0b1d2a768236bc8f9a85fb4be2552203c42ac
